Question

Right now:

  • I have a few personal software projects I develop (just me, and on just one PC)
  • extensively use TortoiseSVN for version-control
  • run CollabNet Subversion Server on the same PC

Is there really any advantage in having a server instead of just pointing to the repository directory?

For example: instead of commiting to svn://localhost/projectname, I could just commit to C:/development/projectname and get away with it.

Could someone advice me on what the best practice is in this kind of senario?

Was it helpful?

Solution

No, in that situation it is not necessary to run a Subversion server. You can tell TortoiseSVN to access the repository files directly (using the file:// protocol) and everything will work fine.

However, using a separate server will make your life easier if you:

  • want to move your Subversion server to another machine
  • start using a laptop or netbook separate from your server machine
  • want to share your work with anybody else

OTHER TIPS

Yes it is - for the purpose of redundancy, not collaboration. You don't want to lose both your active working directory and also your repository. However, you could always institute some other form of backup procedure.

I'm a one-man show as well, with a network of computers in my home/office. I had to set up a Windows 2008 server anyway, so I put Subversion on it, and use Tortoise on my laptop client.

I like having the master on a separate machine, makes for better backup. Also, I'm prepared in case a second programmer comes to work in the shop.

You will probably find it simpler to use Mercurial or another DVCS.

I don't think it's necessary to run a server. As you wrote, you can as well commit to your local repository using a file:// url.

If I remember correctly, using a file:// URL is not recommended if your repository is stored on a network share and/or accessed by more than one users. But as long as you are working alone and locally, there is no problem.

Should you ever have the need to move the repository to a server computer, that should not be a problem (just move the repository and point svnserve to it).

Setting up the server is trivial and you only do it once. So why not?

But it's not 100% necessary. Why bother?

I think it doesn't really matter. Just pick one and stick with it.

Personally, I have CollabNet running as a service on my Windows development machine at home. I commit all my own stuff and back up the repository on a regular basis.

I don't see what the benefit would be to not use the server. Set it up, use it faithfully, back it up, forget about it.

For me it's about practice and developing habits. I'd recommend that you do it the same way all the time.

Although I would now recommend a DVCS such as git or Mercurial, I always used a server. This way I could access my repository from my computer at school as well as from the desktop which hosted the repository.

Personally, I use Mercurial, and free hosting at bitbucket. I don't feel very secure if data exists in only one place.

(Only mentioning Mercurial as they offer free, private hosting for non-open-sorce work)

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top