tags:

views:

408

answers:

14
+6  Q: 

SVN installation

I am going to install SVN for my personal projects. Is it better to install it on a spare machine(Win XP) or will I save myself grief if I install it on the machine I use for development(Vista).

+9  A: 

Installing your repository on a separate machine is probably a better idea, since at a minimum, it will allow your source code to survive a hard drive crash on your development machine.

If you're new to SVN, you can't beat the free e-book from Red-Bean and O'Reilly ... Check out "Version Control with Subversion" here: http://svnbook.red-bean.com/.

Steve Moyer
A: 

I'd prefer it on a different machine for flexibility (you could use a different system or get a new machine without impacting the repository) and for safety/security. By having it on a different machine, you eliminated the chance of losing everything if your machine dies.

Joe Skora
A: 

If it's just for your personal projects and you always use the same machine anyway, just install it on the same machine. That is simpler.

cruizer
A: 

Alternatively, you can install the repository on your development machine and use any file-replication utility to replicate it on a backup machine. I personally use Foldershare (http://foldershare.com) to replicate my repo.

Franci Penov
A: 

If you you install it on a remote machine you will also need to install a server service to get and send files between the development environment and your repository. This can be done with the svnserve daemon or by modifying A httpd server like apache.

If you set it up on the local machine you don't need to know or do any of the above, just run the install and then use your favourite client to interact with it.

J.J.
+4  A: 

There's really little point in installing on a "spare" machine. It doesn't consume any significant CPU or memory.

Other good reasons to install it on your main system:

  • Faster repository access; not as big an issue with SVN as CVS, but checkins, checkouts, etc will be significantly faster with a local repo than one over the network.
  • More likely to be backed up. You are backing up your dev box, right? Right? If not, there's a really good reason to. And usually boxes that you work on regularly are more likely to get backed up than ones sitting off in a corner somewhere.
  • Less power consumption, presuming the "spare" box is otherwise off.
  • As a really minor point, you won't have to muck around with network-based access, but this really isn't difficult in the first place.

The only good reason I can think to have it on a separate box is a single point of failure. If your Vista box kicks the bit bucket, then you're dead in the water. But hey, you were backing it up. Right? RIGHT?

Zathrus
A: 

If you have it on the same machine it is trivially easy to get up and running. You don't have to worry about how you're going to connect to the repository, whether you're going to secure the connection, etc. By trivially easy, I mean, svnadmin create c:\repo.

If you set it up on a separate machine and work out the connectivity issues ahead of time, you will save yourself some time down the road if you get a new development machine or if someone else starts working with you. As for backups, it's true that having the repo on a separate machines means that you have some of the code in two places. However, you still need backups for your repository. Otherwise, when your repository goes down, you'll only have the versions of the files that you have checked out. History (and isn't that the point of version control) will be lost forever.

Brandon DuRette
Easy if you are using the command prompt to do everything. however, if you want to use a gui or windows explorer-based tool (like Tortoise SVN) then I don't think it will work. TortoiseSVN will need either a HTTP or SVN protocol address to point to.
Dr8k
+7  A: 

I recommend VisualSVN Server once you're ready to install...

Matt Hinze
I also recommend this - it's free and very simple to install and get going.
Dr8k
+1  A: 

I currently use a hosted SVN server, this frees me from all the installation issues. I have also the benefit of having an off-site backup, so if my office gets on fire my source code will be safe.

Dreamhost hosts SVN even in the cheapest plan and you can install it with a single-click, no needing of SVN configuration knowledge is required.

hectorsq
Yeah, I like Dreamhosts's svn service too.. I use it.
Matt Hinze
A: 

If you are installing it yourself on windows may I recommend SlikSVN http://www.sliksvn.com/en/download/ it'sa lot easier than configuring apache. They also do hosted SVN but I don't have experience of them

Martin Beckett
+2  A: 

In my opinion you HAVE to install it on another machine, and preferably one offsite and available over the internet. Doing it on another machine provides several advantages:

  • You can do whatever you like to your dev machine config-wise and not worry about hosing your svn installation
  • The repo acts as a backup of your code, so if you have some sort of disaster you can get your code back
  • If the machine is available over the internet, you can work on your code anywhere on any machine
  • You can easily ask people to look at your code by checking it out from the SVN. They may even contribute some code back!
  • For me at least, there's some sort of significance to checking in the code. I think if the repo was on another machine, you would make sure your code was worth committing first.

Perhaps look at one of the free hosted services, like assembla.com. Have fun!

cam8001
+1  A: 

Consider grabbing the Buildix application server from Thoughtworks & run it in a VM. You'll get a SVN server as well as a bunch of other goodies and, if you're ready to commit to it, you can consider installing it on a second box.

moobaa
A: 

An off-site hosted SVN is probably the easiest way of getting it set up. CVSDude actually offers one free repository of 2mb for free. ProjectLocker, CVSDude, and DreamHost all offer paid plans which cost a nominal fee ($5-$20) per month, and provide you with the ability to open the SVN repository to other users, and provide trac, and a few other services.

If you want to set it up at home, and you have a spare computer that you feel comfortable leaving running all the time, then certainly that's a better choice, giving you an automatic backup, as well as having rollback capabilities. 100MB ethernet is plenty fast, and even Wireless G shouldn't have any speed problems with SVN.

Local SVN doesn't give you much except for rollback, which is better than nothing, but still not perfect.

Adam N
A: 

IMHO, you can install it on your machine to avoid maintenance of a second machine. You also should backup your repository on a network drive or on an external media to avoid data loss.

Once you have your data in a safe place, you can very easily reinstall subversion on any available machine with any OS on it.

My company's Subversion installed on windows too, and I'm using hot-backup.py which runs once an hour from scheduler.

Pini Reznik