⇤ ← Revision 1 as of 2009-04-23 14:27:47
Size: 5217
Comment:
|
Size: 5252
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 10: | Line 10: |
* [http://www.nongnu.org/cvs/ CVS official site] * [http://cvsbook.red-bean.com/cvsbook.html Open Source Development with CVS (eBook)] * [http://en.wikipedia.org/wiki/Concurrent_Versions_System CVS wikipedia entry] * '''Subversion''' - designed to replace CVS and correct some of its flaws. Similar syntax to CVS. Too much like CVS for many people's taste, but probably the most commonly used VCS still. [http://code.google.com Google Code] and [http://sf.net SourceForge] use it for projects they host. * [http://subversion.tigris.org/ Subversion official site] * [http://svnbook.red-bean.com/en/1.0/index.html Version Control with Subversion (eBook)] * [http://en.wikipedia.org/wiki/Subversion_(software) Subversion wikipedia entry] The Developer Tools package (available on the install discs or from [http://developer.apple.com/ ADC]) for MacOS X 10.4 installs CVS, and 10.5 also installs SVN. Third party packages also exist for SVN for earlier versions of MacOS X. Windows machines should have [http://www.tortoisecvs.org/ TortiseCVS] and [http://tortoisesvn.tigris.org/ TortiseSVN] installed. These programs integrate CVS and SVN into Windows Explorer. |
* [[http://www.nongnu.org/cvs/|CVS official site]] * [[http://cvsbook.red-bean.com/cvsbook.html|Open Source Development with CVS (eBook)]] * [[http://en.wikipedia.org/wiki/Concurrent_Versions_System|CVS wikipedia entry]] * '''Subversion''' - designed to replace CVS and correct some of its flaws. Similar syntax to CVS. Too much like CVS for many people's taste, but probably the most commonly used VCS still. [[http://code.google.com|Google Code]] and [[http://sf.net|SourceForge]] offer it for projects they host. * [[http://subversion.tigris.org/|Subversion official site]] * [[http://svnbook.red-bean.com/en/1.0/index.html|Version Control with Subversion (eBook)]] * [[http://en.wikipedia.org/wiki/Subversion_(software)|Subversion wikipedia entry]] The Developer Tools package (available on the install discs or from [[http://developer.apple.com/|ADC]]) for MacOS X 10.4 installs CVS, and 10.5 also installs SVN. Third party packages also exist for SVN for earlier versions of MacOS X. Windows machines should have [[http://www.tortoisecvs.org/|TortiseCVS]] and [[http://tortoisesvn.tigris.org/|TortiseSVN]] installed. These programs integrate CVS and SVN into Windows Explorer. |
Line 21: | Line 21: |
* [wiki:Self:HlpLab/Git Git local wiki page] * [http://git.or.cz/ Git official site] * [http://en.wikipedia.org/wiki/Git_(software) Git wikipedia entry] * [http://nathanj.github.com/gitguide/tour.html Git on Windows tutorial] * [http://github.com/ GibHub (project hosting)] * '''Bazaar''' - a VCS written in [http://www.python.org/ Python] by [http://www.canonical.com/ Canonical] software (makers of [http://www.ubuntu.com/ Ubuntu] Linux) for their needs. It's about as powerful as Git, but with much less jargon and with simpler command syntax. Bazaar is designed in part to integrate well with Canonical's [https://launchpad.net/ LaunchPad] project hosting. Now used by MySQL, among others. * [http://bazaar-vcs.org/ Bazaar official site] * [http://en.wikipedia.org/wiki/Bazaar_software Bazaar wikipedia entry] |
* [[Git|Git local wiki page]] * [[http://git.or.cz/|Git official site]] * [[http://en.wikipedia.org/wiki/Git_(software)|Git wikipedia entry]] * [[http://nathanj.github.com/gitguide/tour.html|Git on Windows tutorial]] * [[http://github.com/|GibHub (project hosting)]] * '''Bazaar''' - a VCS written in [[http://www.python.org/|Python]] by [[http://www.canonical.com/|Canonical]] software (makers of [[http://www.ubuntu.com/|Ubuntu]] Linux) for their needs. It's about as powerful as Git, but with much less jargon and with simpler command syntax. Bazaar is designed in part to integrate well with Canonical's [[https://launchpad.net/|LaunchPad]] project hosting. Now used by MySQL, among others. * [[http://bazaar-vcs.org/|Bazaar official site]] * [[http://en.wikipedia.org/wiki/Bazaar_software|Bazaar wikipedia entry]] |
Line 30: | Line 30: |
* [wiki:Self:HlpLab/Mercurial Mercurial local wiki page] * [http://www.selenic.com/mercurial/wiki/ Mercurial official site] * [http://developer.mozilla.org/en/docs/Mercurial Mozilla Mercurial documentation] (very much a work in progress) * [http://hgbook.red-bean.com/hgbook.html Distributed revision control with Mercurial (eBook)] * [http://en.wikipedia.org/wiki/Mercurial_(software) Mercurial wikipedia entry] * [https://bitbucket.org/ BitBucket (project hosting)] |
* [[Mercurial|Mercurial local wiki page]] * [[http://www.selenic.com/mercurial/wiki/|Mercurial official site]] * [[http://developer.mozilla.org/en/docs/Mercurial|Mozilla Mercurial documentation]] (very much a work in progress) * [[http://hgbook.red-bean.com/hgbook.html|Distributed revision control with Mercurial (eBook)]] * [[http://en.wikipedia.org/wiki/Mercurial_(software)|Mercurial wikipedia entry]] * [[https://bitbucket.org/|BitBucket (project hosting)] |
Line 38: | Line 38: |
* [http://darcs.net/ Darcs official site] * [http://en.wikipedia.org/wiki/Darcs Darcs wikipedia entry] |
* [[http://darcs.net/|Darcs official site]] * [[http://en.wikipedia.org/wiki/Darcs|Darcs wikipedia entry]] |
Line 41: | Line 41: |
* [http://monotone.ca/ Monotone official site] * [http://en.wikipedia.org/wiki/Monotone_(software) Monotone wikipedia entry] |
* [[http://monotone.ca/|Monotone official site]] * [[http://en.wikipedia.org/wiki/Monotone_(software)|Monotone wikipedia entry]] |
Line 44: | Line 44: |
* [http://www.gnu.org/software/gnu-arch/ Arch official site] * [http://en.wikipedia.org/wiki/GNU_arch Arch wikipedia entry] |
* [[http://www.gnu.org/software/gnu-arch/|Arch official site]] * [[http://en.wikipedia.org/wiki/GNU_arch|Arch wikipedia entry]] |
Version Control
Version Control Systems (also called Source Control Management (SCM) or Revision Control Systems (RCS)) are a type of software for keeping track of changes to files and merging changes from multiple users (usually developers) into a common tree. There are a number of different VCSs out there. Here we will focus on commonly used open source ones.
1. Historically relevant (and probably installed)
CVS - essentially the Ur version control system. Very common still, but not recommended for new projects
Subversion - designed to replace CVS and correct some of its flaws. Similar syntax to CVS. Too much like CVS for many people's taste, but probably the most commonly used VCS still. Google Code and SourceForge offer it for projects they host.
The Developer Tools package (available on the install discs or from ADC) for MacOS X 10.4 installs CVS, and 10.5 also installs SVN. Third party packages also exist for SVN for earlier versions of MacOS X. Windows machines should have TortiseCVS and TortiseSVN installed. These programs integrate CVS and SVN into Windows Explorer.
2. Recommended (and installed)
All of these are distributed VCSs, which means that each user has a full tree including revision history; there is no privileged central tree (unless you want there to be).
Git - A VCS designed by Linus Torvalds to meet the needs of the Linux kernel developers. Powerful but complicated (read: often arcane, complicated, and frustrating). Other notable projects using Git include Perl. NB: On MacOS X, the official Git package installs the binaries to /usr/local/git/bin/, so you'll need to add that to your path.
Bazaar - a VCS written in Python by Canonical software (makers of Ubuntu Linux) for their needs. It's about as powerful as Git, but with much less jargon and with simpler command syntax. Bazaar is designed in part to integrate well with Canonical's LaunchPad project hosting. Now used by MySQL, among others.
Mercurial - VCS written in Python and C. Created when the makers of Bitkeeper (the VCS formerly used by the Linux kernel team) pulled free licenses for open source projects. The kernel team went on to create Git instead, but other projects (most notably Mozilla, Java, and Python) use Mercurial. It is extremely flexible, but can be a bit arcane and scary (i.e. When a merge is necessary it wants to make you deal with it right now instead of leaving merge markers), and you really want to be sure to have it configured before first use, but it's still more user friendly than Git, and close to it in speed and repository compactness.
Mozilla Mercurial documentation (very much a work in progress)
[[https://bitbucket.org/|BitBucket (project hosting)]
3. Worth noting
Darcs - designed to replace CVS and SVN. Written in Haskell and "based on a unique algebra of patches".
Monotone - another VCS designed to replace CVS and SVN. But like Git, Arch, Bazaar, and Mercurial, it's designed to be decentralized. Not amazingly popular though.
Arch - a distributed VCS. Mostly superseded by Bazaar, and not under active development, but you might run across projects using it.