I develop personal projects on two machines without use of a shared server or a network connection between the two.
Do any common version control systems reliably support use of portable storage (such as a USB flash device) as the shared repository?
|
I develop personal projects on two machines without use of a shared server or a network connection between the two. Do any common version control systems reliably support use of portable storage (such as a USB flash device) as the shared repository? |
|||||||||
|
|
Use a DVCS such as Git or Mercurial. Distributed version control systems do not have a shared central server. With a DVCS, every copy of a repository holds the complete history - everything. This means, that when used on a USB key any changes you make are make to the repository on the USB key and when moved between computers will hold this history. |
|||||||||||||||
|
|
Apart from GIT, Mercurial etc suggested above, also have a look at Fossil - It has the advantages that the run time binaries are small (1Meg or so for Windows and Linux), portable and zero installation needed. Therefore unlike the others (as far as I am aware of) it can be put onto the storage device and run on any machine the storage is plugged into, without first having to install the app on the machine. It includes a Wiki and change/defect tracking system with the repo. It also has a gui built in. I have not used it seriously (I mostly use GIT), but was impressed by it's light weight approach and the inclusion of a Wiki and defect tracker makes it ideal for small projects. My only concern was that some of the more powerful features of GIT may not be possible, and unlike GIT, the user community is not so large that it's easy to find answers to questions. |
|||||
|
|
Using a DCVS is probably a good idea, but it's not the only option. I have a small CVS repository on a USB thumb drive. When I want to access it, I just need to use If you're already accustomed to use CVS, this should be workable. The same should apply to SVN. It just means your central repository is on the thumb drive, and isn't always visible. There are arguments for using a DCVS rather than CVS in general. I don't think those arguments are particularly affected by whether the central repository is on a thumb drive or somewhere else. For example, you could just as easily create a git repository on the thumb drive. |
|||||||||||||||
|
|
As an addition to the other answers: While a DVCS fits this problem very well, you could technically also use Subversion, if you feel more comfortable with it. Subversion can use a local directory instead of a central server. You could just put that onto a thumb drive, and use it. The disadvantage, compared to a DVCS, would be that you can only work with Subversion (i.e. commit, view logs etc.) while the thumb drive is plugged in. Also, it must always be the same thumb drive (or at least an up-to-date copy), because with Subversion you should not use more than one repository (that's the non-distributed part). So if you ever forget your thumb drive, you can't use it, unlike with Git or Mercurial. Note: As explained above, and in the comments, a DVCS is really a better fit for your problem. I only mentioned Subversion for completeness sake, and in case you have some special reason to use Subversion. |
|||||||||||||||
|