• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Paul Clapham
  • Liutauras Vilda
  • Knute Snortum
  • Bear Bibeault
Sheriffs:
  • Devaka Cooray
  • Jeanne Boyarsky
  • Junilu Lacar
Saloon Keepers:
  • Ron McLeod
  • Stephan van Hulst
  • Tim Moores
  • Carey Brown
  • salvin francis
Bartenders:
  • Tim Holloway
  • Piet Souris
  • Frits Walraven

Source Control Systems

 
Bartender
Posts: 10336
Hibernate Eclipse IDE Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I'm looking into a replacement SCM for our company. We've been limping along with VSS for early a decade and every year or so someone says "we really must replace this!". And this time they really mean it (or so I'm told).

Anyone out there currently using a tool they really like? I'm already looking at Subversion and Rational Clearcase; anything else I should look at?
 
author & internet detective
Posts: 39882
798
Eclipse IDE VI Editor Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Paul,
I like Subversion. One thing you want do decide - do you want a locking check out or optimistic update model? I like optimistic ones because you don't have to hunt down the person with the lock and it encourages smaller commits (useful for continuous integration.) I'm not sure what VSS uses, but changing could be a big culture shock. You'd want to get buy in on that before changing things.
 
Ranch Hand
Posts: 776
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Originally posted by Paul Sturrock:
I'm looking into a replacement SCM for our company.....



At least consider one of the up and coming distributed systems: git, hg, or bzr.

Might start here:

revision control

Guy
[ December 03, 2008: Message edited by: Guy Allard ]
 
Bartender
Posts: 21731
148
Android Eclipse IDE Tomcat Server Redhat Java Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Obviously, lesser-known SCM systems have their merits - Linux is maintained under git, Xen is maintained under Mercurial.

From a business point of view, however, you're probably going to want to use one of the big names like CVS, Subversion or one of the commercial products. Firstly, because there's IDE plugins readily available, and secondly, because anyone you hire is more likely to come in already knowing them. I sneer at the "hit-the-ground-running" conceit (my experience is that learning who does what in a company takes longer than picking up all the odds and ends of the corporate tech stack). However, we're not talking something onerous here, so why not save an hour or 6?

I'd day the biggest decision you have, however, is which class of SCM product you want to use. The traditional ones like VCS, PVCS, et al. work on a check-out-and-lock model.

Most of the open-source ones don't lock, because while it's bad enough when you need to do a quick fix to a file that's locked by someone who took the day off, it gets close to impossible when that someone's on another continent and going through a 2-month bout of binge drinking (or whatever).

Both paradigms have their merits, but based on how your shop manages resources, you'll probably prefer one model over the other.
 
Java Cowboy
Posts: 16084
88
Android Scala IntelliJ IDE Spring Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
As far as I know, Sun is using Mercurial (= hg) for the JDK itself.

Subversion is meant to be the successor to CVS, if your choice is between these two then go for Subversion.

Microsoft Visual SourceSafe uses exclusive locking; Subversion does not.
 
Paul Sturrock
Bartender
Posts: 10336
Hibernate Eclipse IDE Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks for the input so far guys!

I am pretty much dead against the exclusive lock model. Its one of our (many) issues with VSS. I can see its uses for a class where merging is pretty much just not an option (e.g. horrible, complex spaggetti code - of which we have some), but its a nice addition if they support both models rather than exclusively one or the other.

Does anyone have any experience of Perforce, StarTeam, BitKeeper, ClearCase or Microsoft Team System? Anyone used a commercial SVN version? Is it worth paying the extra cash?
[ December 04, 2008: Message edited by: Paul Sturrock ]
 
Ranch Hand
Posts: 326
Android Mac OS X Firefox Browser
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Originally posted by Paul Sturrock:
Thanks for the input so far guys!

I am pretty much dead against the exclusive lock model. Its one of our (many) issues with VSS. I can see its uses for a class where merging is pretty much just not an option (e.g. horrible, complex spaggetti code - of which we have some), but its a nice addition if they support both models rather than exclusively one or the other.

Does anyone have any experience of Perforce, StarTeam, BitKeeper, ClearCase or Microsoft Team System? Anyone used a commercial SVN version? Is it worth paying the extra cash?

[ December 04, 2008: Message edited by: Paul Sturrock ]



You CAN lock a file in SVN too, but you have to tell the system that it is locked. And even then it is only a marker to other that "I'm doing something and don't want anyone to mess with it" and the other one can steal the lock.

About Perforce, StarTeam, BitKeeper, ClearCase and MSTS. If you have HUGE systems with a lot of configurations and a large CM-overhead, yes then you should consider to get one of the big ones. I like ClearCase and Perforce most and then BitKeeper and MSTS (never worked with StarTeam). They have a slightly steeper learning curve and you can mess things up big time if you do something wrong. But with a good CM, you will benefit from it if the projects are big enough.
 
Jesper de Jong
Java Cowboy
Posts: 16084
88
Android Scala IntelliJ IDE Spring Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Originally posted by Paul Sturrock:
Anyone used a commercial SVN version? Is it worth paying the extra cash?


As far as I know, Subversion is free and open source. There are several free SVN client plugins available for it, for different IDEs. You can get commercial support for Subversion; I've used Subversion in different projects but never needed this kind of support.

I've never heard of a commercial version of the Subversion software itself.
[ December 05, 2008: Message edited by: Jesper Young ]
 
Greenhorn
Posts: 17
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I used both Clearcase and Perforce( well known as P4 - dont know why they call it like that!). Perforce has all good features of Clearcase and even more. Now there are many tools integrated with p4 for defect tracking, code review etc. It makes my job lot easier. i liked it very much except for following reasons: Compared to clearcase it requires lot of memory on client machine (bcos all project files to be syced - it keeps a local copy for editing etc.. unlike Clearcase where vobs are created on server for each client and at any point all code chages will be safe on the server.. In P4, there are chances you may loose your code if you loose your laptop ).
Also, It is bit slow.
Other few small diffs i remember.. No tree view of checked out files.( i dont think it is necessary anyway..)
My development setup contains: [IntelliJIDEA+P4+DevTrack+CodeStriker]
 
Paul Sturrock
Bartender
Posts: 10336
Hibernate Eclipse IDE Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Out the box, Perforce, AccRev, StarTeam, MSTS and Clearcase all come with pretty impressive (looking, at least - I've not played too much) reporting, analysis, merge and administration tools. Can anyone recommend simmilar stuff for Subversion?
 
Paul Sturrock
Bartender
Posts: 10336
Hibernate Eclipse IDE Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Originally posted by Naveen Hegde:
I used both Clearcase and Perforce( well known as P4 - dont know why they call it like that!). Perforce has all good features of Clearcase and even more. Now there are many tools integrated with p4 for defect tracking, code review etc. It makes my job lot easier. i liked it very much except for following reasons: Compared to clearcase it requires lot of memory on client machine (bcos all project files to be syced - it keeps a local copy for editing etc.. unlike Clearcase where vobs are created on server for each client and at any point all code chages will be safe on the server.. In P4, there are chances you may loose your code if you loose your laptop ).
Also, It is bit slow.
Other few small diffs i remember.. No tree view of checked out files.( i dont think it is necessary anyway..)
My development setup contains: [IntelliJIDEA+P4+DevTrack+CodeStriker]



How easy did you find Clearcase to administer? It comes quite highly recommended from various people I've been talking to (though its expensive) but the big drawback people have said is it may need a dedicated administrator to get the benefit out of it. Its always been my experience with IBM tools that they can be great if you can spare the months required to become properly trained on them.
 
Naveen Hegde
Greenhorn
Posts: 17
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

How easy did you find Clearcase to administer?


Paul,
I completely agree with you. Clearcase needs dedicated administrator and takes lot more time & effort to gain expertise. You should be very good at writing complex,lengthy commands.
But in case of P4, we are managing almost without the help of admin..
Also, P4 is more user friendly when it comes to features you mentioned like.. diff, merge, history, resolve conflicts , work with multiple branches etc which we use extensively..
 
If I'd had more time, I would have written a shorter letter. -T.S. Eliot such a short, tiny ad:
Java file APIs (DOC, XLS, PDF, and many more)
https://products.aspose.com/total/java
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!