Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Public or private SVN repository server?

Tags:

svn

Is there a good and free SVN repository I could use to store files in a central location for other programming members to access?

It's a private project, so I don't want other to have access to it.

Should I use a free one or set up my own SVN repository? If the latter is a better choice, how do I do that? Rent a VPS/dedicated server for it? Because I have to have a 24*7 online server up and running I guess...

like image 710
never_had_a_name Avatar asked Mar 28 '10 01:03

never_had_a_name


People also ask

Where SVN repository is stored?

When you commit changes to your repository, they will be stored on server S inside your subversion repository. The repository is actually constructed of a series of deltas stored inside the db/revs folder - changes from one version of the repository to the next.

Does SVN require a server?

For Subversion to work, the SVN setup needs two main elements: The server, which has all versions of all source files. A local copy of the files, which is on your computer.

Is SVN distributed or centralized?

Some of the most common centralized version control systems you may have heard of or used are CVS, Subversion (or SVN) and Perforce.

Is anyone still using SVN?

While SVN is no longer the most used VCS, it has managed to establish itself in a few very niche areas. Features like customizable access control to project files and a central server are some reasons why developers may still be using SVN.


2 Answers

As the saying goes, there is no free lunch. Although some services offer free private Subversion repositories (RiouxSVN, Springloops, etc.), these typically come with significant limitations (either in terms of the maximum storage size or number of users who may access the repository).

Really, the decision comes down to whether you pay for a fully managed Subversion repository that is pre-configured (such as that offered by Cloud Forge or Beanstalk) or whether, instead, you pay for an Infrastructure-as-a-Service (IaaS) cloud hosting service (such as Compute Engine, AWS EC2, or Azure) for a virtual machine and take responsibility for the setup of the Subversion server on that virtual machine instance, take responsibility for the security and access control of that virtual machine, and take responsibility for the domain name, SSL certificates, etc. that are used to access that server remotely over the Internet. There is also an in-between approach, such as using a third-party virtual machine image / configuration specifically for running a Subversion server on a cloud hosting provider (such as is the case with using the Cloud Launcher Subversion image provided by Bitnami, which simplifies the provisioning, maintenance, deployment, etc. of Subversion on Compute Engine).

For all the different options / approaches, the tradeoff is typically between costs and hassle; using a cloud hosting provider and setting up a Subversion server yourself is more hassle but also cheaper. There is also a tradeoff in terms of risk / security; if you deploy a Subversion server on Compute Engine or in a VPC on AWS and do not expose the machine to the public Internet (so that it is only accessible to other VMs provisioned in that subnet / VPC), then the risk is relatively low; once you configure it to be accessible to the public Internet, however, then you need to consider whether you prefer owning that risk and the security of the VM yourself vs paying extra for a third party to manage that risk. Another trade-off to consider is flexibility; the do-it-yourself approach may allow you to customize elements of the Subversion server's behavior (such as details of how it authorizes users) that you may not be able to control as easily with a fully hosted option. Lastly, another trade-off to consider is the costs and ease of backing up the repository; if it's worth storing in a repository, it is likely also worth it to back-up; some solutions make it easier/cheaper to backup than others.

like image 97
Michael Aaron Safyan Avatar answered Sep 28 '22 09:09

Michael Aaron Safyan


I recommend springloops. It lets you have private repositories. If your project is a website, it will deploy via FTP to your website.

like image 36
brainjam Avatar answered Sep 28 '22 08:09

brainjam