Does any faster centralized version control than SVN exists?
I've been using SVN since a long time and now we're trying on Git. I'm not talking on the centralized / decentralized debate here. My only concern is speed.
The latter tool is much faster. But sometimes, I NEED to work with a centralized approach, which is much more simple and less complex than the decentralized one. The learning curve is really fast, which saves a lot of time (while digging into decentralized would lead to a waste of time, given the learning curve is much longer and we encounter more problem when working with it).
However, SVN is really slow compared to GIT, and I don't think it has anything to do with the centralized argument. Decentralized systems also have to deal with server connections and file transfert. So I can easilly imagine a faster implementation of centrali开发者_如何学Gozed version control could exists.
Does someone has any clue on this?
The one CVCS (Centralized Version Control System) I know being much faster than SVN is not a freeware one:
Perforce
I detail Perforce in this SO answer.
You can see a comparison between Perforce and Subversion in this document.
Its merge support in particular is much more effective.
Git supports many topologies, including the centralised CVS/SVN approach. There are several options:
- Provide a central shared repository via ssh. gitosis makes this easier.
- Use github private accounts.
- Use github's commercial server product, github:fi in your own data center.
What makes SVN slow is how it handles the working copies. Thousands of files are touched and written.
You could try Bazaar (bzr) as it supports workflows (but I don't know if it is really faster) or wait for SVN 1.7 with WC-NG and centralized meta-data. SVN 1.7 is planned for this summer, but could also be finished later.
Git is very flexible and works just fine in a centralised arrangement. On a server somewhere, create a "bare" repository with something like:
mkdir repo
cd repo
git init --bare --shared
Then push your repository into the bare one on the server, and call that one the "central" repo.
精彩评论