Software Configuration Management Tool
We are team of 4 at present. We all are working on the same p开发者_高级运维roject. Every morning we have to spend at least 30 minutes integrating our projects for all the changes we made previous day.
To avoid all this time spent, we want a tool which is open source and will give us SCM and repository (on cloud); something similar to Accurev.
What I expect from the tool is as follows:
- Version Control
- Checking in and checking out of code.
- Locking of checked out code (so that only 1 person gets lock on the code)
Is there any more information I can give?
Considering you want "Locking of checked out code(So that only 1 person gets lock on the code)", that excludes any distributed VCS like Git or Mercurial.
(Yet, the merge model has its advantages)
You could still use [SVN (a centralized VCS), which allows locking individual files, though.
You even can benefit from free online private repos.
Modern style is not to use locking but to use merging with a DVCS.
You should look at:
- Git
- Mercurial
- Subversion
- Bazaar (bzr)
- maybe Aegis
and probably half-a-dozen other contenders I've missed. The first three have the biggest following; you probably won't go far wrong with any of them (though Subversion is not a DVCS).
Maybe you could look at this from an architecture level and change your code layout for a more layered approach, then divide the work up across the team so that you are stepping on each others toes less.
Or utilise branching and merging more to separate your development by feature.
Your existing code manage would still apply but hopefully you would end up with less conflicts.
We use an excellent DVCS host called Kiln that's based around Mercurial http://www.fogcreek.com/kiln/
We also use FogBugz from the same provider for tickets, and this lets us integrate our developer tickets and SCM. This combination really is wonderful. Kiln also allows for Code Reviews, but the options are as of yet still limited, it's kind of like a half-feature.
With Kiln permissions you can effectively create a linear pipeline or one close enough to it ... give some users read only permissions, for example ... and also give your devs internally the freedom to use DVCS ... which is frankly much better.
There's no question that Git is a better SCM than Mercurial, but it will take you 3 years of daily use to even realize the difference, and Mercurial is a wonderful tool in its own right, and Kiln is a superb product ... I 100% stand by the Kiln/FogBuz combo as the best SCM SaaS I've ever used.
For what you ask, I think SVN is the best option.
精彩评论