Jump to content

Version/Revision Control Systems

- - - - -

  • Please log in to reply
4 replies to this topic

#1
WingedPanther

WingedPanther

    A spammer's worst nightmare

  • Moderators
  • 16,831 posts
  • Location:Upstate, South Carolina
  • Programming Language:C, C++, PL/SQL, Delphi/Object Pascal, Pascal, Transact-SQL, Others
  • Learning:Java, C#, PHP, JavaScript, Lisp, Fortran, Haskell, Others
I'm looking at starting to maintain some of my personal work in a VCS. Alas, I have only used a windows-only one, and that doesn't help much on my Linux laptop. With that said, does anyone have any particular favorites?

Mercurial, Git, CVS, SVN, and Bazaar all look like distinct possibilities, but finding good compare/contrast info is a bit trickier.
Programming is a branch of mathematics.
My CodeCall Blog | My Personal Blog

#2
Smilex

Smilex

    Learning Programmer

  • Members
  • PipPipPip
  • 84 posts
I've used several, but my favorite is Mercurial. I researched it back when I actually needed some VCS, and I found it the most appealing one.

#3
ductiletoaster

ductiletoaster

    Newbie

  • Members
  • PipPip
  • 15 posts
I at work and at home I use GIT. There are some great client tools for it if and it is fairly intuitive. Works with both linux and windows as well. My main machine at work is win7 our server is Centos, and my laptop is Ubuntu! Works between all of them. Git and Mercurial are moth distributed as u probably know..... but I found that GIT can easily mimic a server client setup when using something like Github or a personal git server repo. Just depends on how u set it up. If u dont mind sharing ur code then github has a free opensource storage so u can have a centralized code reop or pay a little monthly fee and get a secured closed source repo!

#4
Alexander

Alexander

    It's Science!

  • Moderators
  • 4,118 posts
  • Location:Vancouver, Eh! Cleverness: 200
I've a bit of experience with a few so I can contribute some review.

Git would be my first choice, it is Unix-centric but can run on Windows with a bit reduced speed due to its heavy reliance on scripting languages such as Perl.

From what I can read and tell these would be the main characterists:

  • Strong support for non-linear development work(Emphasis on rapid branching, merging, development branches)
  • Repositories can be published via HTTP, FTP, rsync, or a Git protocol over either a plain socket or ssh.
  • Distributed development (Distributed revision control system unlike CVS or SVN)
  • Efficient handling of large source projects
  • Well defined model for incomplete merge strategies
  • Communication with SVN if required, including offline communications with itself
Subversion is more well defined, and I would put an emphasis on:

  • Supports tracking and versioning of all metadata such as directory trees and renames.
  • Can store binary deltas with an algorithm nearing speed of textual deltas.
  • Atomic committing, either all is committed successfully or nothing is.
  • Consistent data handling for all file formats, binary or textual in compression styles.
  • Hackability
  • Has a dedicated Apache module which can aid in stability and interoperability, leveraging HTTP compression and authentication that Apache can provide..
Now the others which I am not so keen about. Bazaar I can assume be compared to Git fairly easily to choose between the differences, Canonical has a nice comparison here: BzrVsGit - Bazaar Version Control You can see it emphasises on friendliness and the "Just Works" motto, and Ubuntu/Trackpad bug tracking integration.

Mercurial is Python and requires an interpreter (or possible TortoiseHg as an alternative), with a clean setup and emphasis on simple remote branching and serving I believe, although I can not find a main page on its features.
Be sure to read the updated FAQ! || Health is achieved through the same 10,000 steps.
If a suggested code/method fails, informing us is less important than telling us why or what errors occurred.

#5
WingedPanther

WingedPanther

    A spammer's worst nightmare

  • Moderators
  • 16,831 posts
  • Location:Upstate, South Carolina
  • Programming Language:C, C++, PL/SQL, Delphi/Object Pascal, Pascal, Transact-SQL, Others
  • Learning:Java, C#, PHP, JavaScript, Lisp, Fortran, Haskell, Others
Thanks, Alexander. I've got a feeling I'd choose Mercurial over Bazaar, but the two sound similar.
Programming is a branch of mathematics.
My CodeCall Blog | My Personal Blog




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users