What to do when there are so many version control systems?
Do you use many version control software (TortoiseSVN, Bazaar Explorer, smartgit etc)?
One software that supports all version control systems (cvs, svn, bzr, git etc)? Which?
Do you keep converting between them (I imagine开发者_高级运维 me converting gif -> jpg -> gif -> jpg...)?
UPDATE:
If I pick one, do I really have to give up contributing to all software that use the other ones?
Choose the one that suits your needs and stick with it
Why use many? Pick one, and stick with it. Normally, the choice is between Mercurial, SVN, TFS and GIT today.
Joel says to use Mercurial and provides a really nice write up for us subversion adherents to avoid going crazy during the the switch-over. Read his article and decide for yourself. I went from ignoring these other "weirdo" version control systems and sticking with subversion to thinking hmm maybe we should switch - this is actually starting to make sense to me now. Joel on dvcs
I think one solution when having to deal with multiple working copies from different VCSs is to stick to uniform interface.
For instance there are TortoiseSVN, TortoiseHG and TortoiseGIT sharing much (I think) of UI.
OK, so the TortoiseHG's UI differs somewhat, but so is the working model and it is still an Explorer extension.
Of course this only makes sense if you are talking about different data sets with each of them, doing so with a single data set is really dangerous and often lossy operation.
UPDATE: It looks like according to your update it is really your case - you are using each to work with different repository.
Different projects demand different solutions.
If you are working with Linux - git is the solution. If you are working with Firefox - (not SVN) Mercurial is the solution. If you are working with drupal - CVS is the solution (they are migrating to GIT...). If you are working with KDE - SVN is the solution.
Anyway - there is no solution to this, this is part of the world we live in. It's like asking "why so much programming languages?"
(I myself, use git-svn to checkout SVN repositories... sometimes at least, GIT is the weapon of choice).
We use PVCS (Merant) at work for legacy projects that were using it, TFS for new Visual Studio work, and I use Mercurial for my personal projects.
The mental changes required to work with the different systems are just part of the territory, just like what I have to do when switching from C# to PowerBuilder to scripting language du task to VBA to C at work.
PVCS pisses me off, TFS is tolerable, and Mercurial is pretty unobtrusive as far as I'm concerned. They each server their particular purpose.
I searched for bzr svn in Synaptic and found a Subversion integrator for Bazaar Explorer, so I can download the latest svn revision files in a Subversion repository from Bazaar Explorer. There are Git and Mercurial integrators for Bazaar Explorer in Synaptic too. Search for bzr git, then bzr hg (it's Mercurial!). I'm wondering if the cvs importer works like a cvs integrator... I think it's missing!!! :-(
精彩评论