Differences between revisions 21 and 22
Revision 21 as of 2009-01-19 20:01:23
Size: 6179
Editor: platypus
Comment:
Revision 22 as of 2009-04-23 14:35:42
Size: 738
Editor: platypus
Comment:
Deletions are marked like this. Additions are marked like this.
Line 4: Line 4:

= 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.
== Historically relevant (and probably installed) ==
 * CVS - essentially the Ur version control system. Very common still, but not recommended for new projects
   * [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.
== 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, frustrating, and dangerous). 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.
   * [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]
 * 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]
 * 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) use Mercurial. It can be a bit arcane and scary (i.e. When a merge is necessary it makes 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.
   * [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]
== Worth noting ==
 * Darcs - designed to replace CVS and SVN. Written in Haskell and "based on a unique algebra of patches".
   * [http://darcs.net/ Darcs official site]
   * [http://en.wikipedia.org/wiki/Darcs Darcs wikipedia entry]
 * 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.
   * [http://monotone.ca/ Monotone official site]
   * [http://en.wikipedia.org/wiki/Monotone_(software) Monotone wikipedia entry]
 * Arch - a distributed VCS. Mostly superseded by Bazaar, and not under active development, but you might run across projects using it.
   * [http://www.gnu.org/software/gnu-arch/ Arch official site]
   * [http://en.wikipedia.org/wiki/GNU_arch Arch wikipedia entry]
Line 64: Line 25:

= Graphing Tools =
== R Graphics Packages ==
 * [wiki:Self:HlpLab/R/LatticePackage LatticePackage]
 * [wiki:Self:HlpLab/R/GGPlot2Package GGPlot2Package]
 * [wiki:Self:HlpLab/R/DesignPackage DesignPackage]

== Graphing tasks ==
 * [wiki:Self:HlpLab/R/ErrorBars ErrorBars]
 * [wiki:Self:HlpLab/R/OrderingAxes OrderingAxes]
 * [wiki:Self:HlpLab/R/AddingLines AddingLines]
 * [wiki:Self:HlpLab/R/LatticePanels LatticePanels]

----
I've made a lot of these things links to their official website. It'd be nice to get pages created explaining the pros and cons for all of them. -- AndrewWatts [[DateTime(2008-06-09T14:23:20Z)]]

Writing Tools

Reference Management

Presentation Tools

WritingReferencePresentation (last edited 2012-02-16 20:49:00 by echidna)

MoinMoin Appliance - Powered by TurnKey Linux