LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   2010 LinuxQuestions.org Members Choice Awards (http://www.linuxquestions.org/questions/2010-linuxquestions-org-members-choice-awards-93/)
-   -   Revision Control System of the Year (http://www.linuxquestions.org/questions/2010-linuxquestions-org-members-choice-awards-93/revision-control-system-of-the-year-855939/)

jeremy 01-12-2011 04:53 PM

Revision Control System of the Year
 
A new poll this year.

--jeremy

bathory 01-14-2011 02:12 AM

A vote for git

meetscott 01-16-2011 03:45 PM

Git has changed my life...
 
I was a CVS user on my own stuff for years. I used Subversion a lot but never felt like it was an improvement over CVS and it was more complex to administer. Plus Subversion has always been a headache to use in practice. It got in my way more than helped me get work done. I felt like I was always battling with it.

Once Git came along, it changed the way I think about and use version control. Git is the most important thing to happen to me in my programming since the discovery of Spring. Git has changed the way I work and the way I approach problem solving. It allows a more natural work flow and the absence of high network communication means that I can develop without a network connection and push changes only when I'm ready. I can branch, but more importantly, merge easily. This means having multiple development branches is not a hindrance to getting work done. In fact, it facilitates more agile work flows. You never lose work because the version control system doesn't let you "stash" it out of the way to address something else. Git "stash" is wonderful.

The ability to merge efficiently cannot be understated. The ability to not have a centralized (or if you want to have a centralized work flow, go for it. Your choice!) repository means better collaboration. No periodic corruption. There are absolute guarantees that what you put in is what you get out. Signing of code... I'm sure others could add more. Some of this stuff can be done in other systems, but Git does it better.

Git is my first introduction to distributed version control, which means that other systems like Mercurial or Bitkeeper might be good, I can't say without experience. But Git has convinced me that centralized version control is inherently wrong and people will hopefully punish those systems in these polls accordingly :-)

I can't wait to see what the community is doing and how people have responded to these recent paradigm shifts (well recent for me and quite a few others as Git is becoming mainstream now ;-)

code933k 01-17-2011 07:05 PM

darcs is great, though Git was there when mercurial let me down...

Kenny_Strawn 01-17-2011 10:43 PM

Code:

bzr branch lp:ubuntu/unity

divyashree 01-21-2011 05:28 AM

Is there any ,that can track binary file modification ?

prodev05 01-21-2011 05:48 AM

cvs & git (partially)

gotfw 01-21-2011 07:14 PM

Quote:

Originally Posted by jeremy (Post 4222240)
A new poll this year.

--jeremy

So it would be really cool if we got some actual discussion and not just fanboism. Yeah, I know there's tons of stuff on the net git vs. hg vs. bazar, but it would be interesting to see what "the masses" think. Hence. in the interest of providing a springboard for further discussion, follows are some my impressions:

bazar: too slow, so automatically takes a back seat to git and hg.

hg: 2-3 years ago beat git because of better and more complete integrations. Also much easier and robust for those who needed to accommodate winblows lusers. SUn used it for OpenSolaris. Atlassian uses it for their stuff, so nice integration there.

git: seems to have gained more traction, probably due to Linus and linux kernel. Also able to run on winblows, but not as seamless as hg. Also become more "unified" and less "stitched together".

That said, I'm a sysadmin so use these casually compared to a software developer. I know there's some significant differences/concerns about how hg and git handle things on the backend.

savotije 01-21-2011 07:37 PM

cvs

syg00 01-22-2011 12:04 AM

No fossil ?.

tallship 01-22-2011 04:20 AM

um...

sccs for sure.

jeremy 01-22-2011 09:23 AM

Fossil has been added.

--jeremy

gotfw 02-06-2011 12:02 AM

Hmmm.. still undecided between git and hg and only couple more days to make up my mind. Popular poll, this one is....

meetscott 02-06-2011 01:19 AM

Quote:

Originally Posted by gotfw (Post 4233591)
So it would be really cool if we got some actual discussion and not just fanboism. Yeah, I know there's tons of stuff on the net git vs. hg vs. bazar, but it would be interesting to see what "the masses" think. Hence. in the interest of providing a springboard for further discussion, follows are some my impressions:

bazar: too slow, so automatically takes a back seat to git and hg.

hg: 2-3 years ago beat git because of better and more complete integrations. Also much easier and robust for those who needed to accommodate winblows lusers. SUn used it for OpenSolaris. Atlassian uses it for their stuff, so nice integration there.

git: seems to have gained more traction, probably due to Linus and linux kernel. Also able to run on winblows, but not as seamless as hg. Also become more "unified" and less "stitched together".

That said, I'm a sysadmin so use these casually compared to a software developer. I know there's some significant differences/concerns about how hg and git handle things on the backend.

Your impressions seem to be correct as far as I know. You seem to have garnered the same pulse from the web that I have.

I still end up using Git mostly from the command line myself. I use Netbeans primarily for my IDE and the Git support is lacking big time. You can do commits and diffs with it but that's about it. And the commits from Netbeans are way slower than command line commits. I use the command line for bigger stuff (bigger as in more computationally intensive or complex operations) like, branching, merging, signing, pushing, pulling, and managing remote tracking. I can't wait for better integration and there is an active project (NBGit) that Oracle has taken over because they recognize it as essential for any IDE to remain relevant.

Besides the inherent (and earth shattering for me) paradigm shift that Git has caused me because of its distributed nature, it also does other things very efficiently. I am able to work on terrible network connections on the go and push changes with confidence. The change push is a *really* small stream of patches. It's amazing. The emailing and application of patches is kind of cool too. But I'm just getting into that and haven't really leveraged that sort of thing too much.

Merging is the big thing. Merges are so easy. Very rarely does a merge require intervention on my part. It does merging so well. The general speed of Git isn't just convenient, it allows *different* and *better* workflows. You can work differently when things are fast because the version management system is not going to be an obstacle. I can't stress enough to people how life changing this can be.

For myself, call it fanboism or whatever, but I've really seen no reason, in any of my coding, to use anything else but Git. Seriously, it's a no brainer now. I use Git for Java code, C code, Shell Script, Perl, and Latex source. Hell, I even use it to version control text files I keep for server configurations. It's just too damn easy to use and it doesn't get in your way.

There's another side effect to distributed version control that people may not realize... since it's distributed, you can toss your updates around very easily and maintain multiple backups of mission critical code. It's easy to do this and if a machine goes down, you have 5 others that have the entire repository on them. Well I usually push to about 5 different machines, and why not? It's easy to do the right thing ;-)

I don't really use Windows myself, but I installed Git Bash on my wife machine just to see what it was like. I can't speak to the speed or convenience, but it does seem to work well. The command line might be a turn off to certain types of Windows users, but as far as I could tell it was just fine.

I guess the only other thing I would say is that my projects are huge, like several hundred megabytes. Git handles this sort of thing just fine. There's no limitations that I've seen and I personally push it hard every day. Git can even track movement of functions/methods between files. This is so cool. The idea of tracking content and not files is such a huge thing when you refactor your code all the time. This is something I've come to love because I'm always moving things around to improve design and Git tracks this stuff. I'm not sure how it does it, but it rocks! I don't think any other versioning system can do this.

SkyEye 02-07-2011 12:11 PM

Git all the way! :)


All times are GMT -5. The time now is 06:48 AM.