We (small team) currently have our Visual Studio projects on a network drive (no version control). I would like us to start using version control, so I thought I’d install Subversion and put all the projects into an svn repository.
Now the question is: Where should we put our working copies?
- Option A: On the local hard drive. Advantage: Compiling will be fast.
- Option B: On a network share on the server (one directory per user). Advantage: All working copies will be included in the daily backup.
Ideally, I’d like to have both advantages but I guess that’s not possible (at least not without reworking our backup strategy to include the workstations). Or is it possible? Or are there any other points in favor or against options A and B?
Definitely local for the aforementioned performance reasons, although I’d say that probably goes for any language.
Your cited reason for keeping them on the share is backups. If that’s the only reason, I can tell you my experience in working with source control providers of various sorts has led me to the discovery that usually if you lose your local changes (very very rare by the way), they weren’t so many that you can’t recreate them. Your source repository should be on a backed up drive, so the vast majority of your code is safe. It’s only the current tasks’ worth of code that would be lost in the event of a drive failure. If you’re concerned about that, promote small enough units of work (if possible) that no one would lose more than a day’s work. Or I suppose you could branch your code if you have larger units of work and commit to the branches daily and merge them back to the main trunk at more convenient times.