Java source code control

Started by
9 comments, last by Fenrisulvur 14 years, 5 months ago
Hi there, This may not be a game-related question, but I am wondering someone knows the answer: for web service / website programming with Java, what source code control tools do you guys use for your projects? Thanks in advance, Robert
Advertisement
I use Subversion for everything I do personally. Almost everywhere I've worked uses Perforce.

Perforce costs dollars if you want more than 2 users (one of whom is the admin so the free version is only good for solo dev)

-me
I've been using mercurial with pretty good results.
^+1 for Mercurial.
Quote:Original post by smr
I've been using mercurial with pretty good results.


Mercurial blows compared to perforce. And perforce (the free version) can have 2 "users" and up to 5 clients which means if the client puts his or her name in a comment, they are practically a user.

Correct me if im wrong, but mercurial has no merge tool and is all done on the command line.

mercurial is better for huge teams of you want to save money, since it is free. and perforce is thousands.

------------------------------

redwoodpixel.com

I can't think of a reason why the language or technologies you're using would impact your choice of version control software. What matters is the size of your project, the number of developers, the functionality you're looking for, and whether you're willing to pay for it.
ftr, I'm not backing Mercurial purely from a Java perspective. Distributed version control in general is preferable because it's more flexible, discarding convoluted notions of individual file versioning and the like, and focusing on flexible branching and merging of entire repositories.
Specific to the OP's problem domain, web dev practically screams out for flexibility.

Quote:Original post by AverageJoeSSU
Mercurial blows compared to perforce. And perforce (the free version) can have 2 "users" and up to 5 clients which means if the client puts his or her name in a comment, they are practically a user.

Never used Perforce - but does it come from the legacy CVS/SVN school of version control, or the modern distributed approach espoused by Linus Torvalds*, et al? A versioning system born of the former probably won't be capable of a graceful transition into the latter.

Quote:Original post by AverageJoeSSU
Correct me if im wrong, but mercurial has no merge tool and is all done on the command line.

Mercurial leaves the decision of merge tools open (though most releases will come bundled with at least one tool by default), but merging is an absolutely vital use case in distributed version control, as all collaborative work involves branching of entire repositories.

Command-line Mercurial is exceedingly easy to handle, but for GUI, see TortoiseHG. Also, it's documentation.
There are other options, including IDE integration, available, too.


Anyway, for someone who claims Mercurial "blows", you don't seem to have much knowledge of the system. It is exceedingly quick to pick up - see Understanding Mercurial and the Tutorial from the wiki.

*Linus wrote Git (another DVCS worth looking into, though this is probably the closest thing to a stable Windows version), and his thoughts on centralized version control are well known. Needless to say, I wear my bias on my sleeve on this one - and I'm not even a Linux buff. ;)
How about JavaGit?
http://javagit.sourceforge.net/

which provides API for Git:
http://git-scm.com/

Does programming language matter in choosing a version control software? I am using Java.

Thanks,
Robert
Quote:Original post by Robert007
Does programming language matter in choosing a version control software? I am using Java.


Generallly no. Most source code is just text, which is what your typical versioning software understands how to handle. There are some packages out there that will provide extra services for specialized binary files though, like differentials between images and meshes.

[edit]
Now as far as interfaces, that can make a difference. You might find some version control clients be able to interface with IDE that you use or your OS GUI.

"I can't believe I'm defending logic to a turing machine." - Kent Woolworth [Other Space]

Quote:Original post by Fenrisulvur
Anyway, for someone who claims Mercurial "blows", you don't seem to have much knowledge of the system. It is exceedingly quick to pick up - see Understanding Mercurial and the Tutorial from the wiki.


I use mercurial in my job, every single day, and perforce on my personal project.

My review is purely based on experience, and not on theory on WHY something should be better. Regardless, I'm not too familiar with GIT nor have I encountered it much. My job is 85% java code and we use mercurial, because it is free and our team is enormous (you can take a stab at where I work if you would like).

Quote:
Original post by Fenrisulvur
Never used Perfoce


need i say more?

------------------------------

redwoodpixel.com

This topic is closed to new replies.

Advertisement