What version-control system is most trivial to set up and use for toy projects?

I would say something like Git might fit the bill:

  • As it's a distributed system, you don't need to have a central repository, the repos exist with the source directory
  • It is easy to create patch files that can be mailed and applied.
  • Although it might seem that git is difficult to use, the basic ideas of committing, merging, adding and removing files are not that hard to learn.

Have a look at this site Git Magic or, even this tip site GitReady


Second the choice of Mercurial

Advantages

  • Excellent documentation.
  • Graphical view command to show branching.
  • Cross-platform.
  • Comes with a GUI for all platforms (TortoiseHG, or thg).
  • Built-in web server for viewing the project.
  • Can keep your project on your thumbdrive.
    • Work can be saved even if only one member of the pair remembered their laptop. Not that that would ever happen.

Disadvantages

  • Must install Python if not already present.
    • Easy to do, but it is another step.
  • Understanding the distinction between push/pull vs update/commit.
    • (This is common to all distributed VCS).
  • The distinction between heads and tips.
  • Some commands aren't immediately available; they must be explicitly enabled.
    • (This is generally consider advantageous by the community as it keeps things simple; some others disagree though).

Subversion is easy to install, on windows, linux and mac os x. I don't know what program they are programming in, but the subclipse plugin for Eclipse is fairly easy to install and hides away some of the repository complexity.

And repository complexity? That's simply having a trunk, tags and branches folder within each project anyway. And they might not have much time, but they should get the time to learn SVN (or similar) because it is a skill that looks good on their CV.


I'd suggest looking at Fossil - It's a single executable with no dependencies to run, operates all traffic over HTTP, keeps its all repository data in a single file which can be named anything, and includes version controlled wiki, bug tracking and a web-server out of the box. Oh, and it's completely distributed.