Reputation: 4014
I'm helping get the SCM set up for a new program, and we're currently in the process of deciding on a VCS.
The main contenders at this point are SVN, ClearCase, SVN+DVCS, and just a DVCS.
At the moment, the team is leaning towards either SVN or SVN+DVCS. We want to avoid the expense and administration costs of ClearCase, but want the workflow and versioning options it offers. I brought forward the option of using a DVCS as well, and the idea is being considered.
For the DVCS, we're considering Mercurial, Bazaar, and Git. The team feels comfortable with SVN, but don't think it'll offer the versatility needed, which is why we're looking at the DVCS on top of SVN option.
Does anyone have any advice (e.g. existing tools, processes) for getting such a setup going?
Concerns include:
Upvotes: 4
Views: 5144
Reputation: 138
If you could drop the requirement that it needs to run on Windows then I would recommend looking at Aegis.
Upvotes: 0
Reputation: 1323833
As an administrator of ClearCase, I would rule out that tool unless you have a complex merge workflow.
The workflow you mention involves being able to branch, fix and then merge back easily, which should not be in favor of SVN.
The biggest trap when you are used to ClearCase (espacially non-UCM ClearCase) is the "composition" of a config spec.
If you choose a DVCS (Mercurial, Bazaar -- or Git since it works really well on Windows), you would not be able to get the same "inheritance effect" -- (when you are selecting different versions with different successive select rules --: as said in that answer:
In a purely central VCS, you can define your workspace (in ClearCase, your "view" either snapshot or dynamic) with whatever rules you want.
That would not be practical in a DVCS (as in "Distributed"): when you are making a branch with it, you need to do so with a starting point and a content clearly defined and easily replicated to other repositories.
If you are using ClearCase UCM, that means identifying coherent sets of files, which can only be achieved through - for instance - Git submodules.
The complexity is higher with those DVCS, since they do not record the dependencies between modules (or "set of files") the way ClearCase UCM does.
So, to recap:
Upvotes: 9
Reputation: 39877
I don't have experience with clearcase but hopefully the following will help some. Your question leaves out several pieces of information that I would take into account before deciding. First how much source code will you have? While SVN is good on medium to large projects for truly huge ones like the Linux kernel Git will provide much better performance. Second what IDE are you using? While Mercurial, Git, and SVN all have visual studio and eclipse plugins there quality very. According to the Wikipedia article on Redmine any of the SCM systems you are looking at will integrate. The following blog may be helpful for you since its written buy a guy who writes a SCM system for a living. http://www.ericsink.com/
Upvotes: 1
Reputation: 44804
What's the problem with Git? I'm using Git on Windows right now. It works just fine. Git Extensions is very useful if you'd like some explorer integration, if that is your issue.
Upvotes: 3