SDL source repository has now been switched over to use Mercurial!
If you don’t use Mercurial and never want to, don’t worry, you can still grab snapshots from the SDL website and send patches the way you always have.
There are a number of reasons why this change was made, and here are a few:
- It’s much easier to iterate locally on changes before pushing them to the world, resulting in better code in the wild.
- It’s much easier to share changes with other people using Mercurial, which is great for the Google Summer of Code students. (e.g. hg export/import)
- It’s much faster to update and commit (or push and pull)
- Mercurial has similar syntax to Subversion for simple operations
Here is Ryan’s quickstart on Mercurial:
The best quick-start tutorial I’ve read is Joel Spolsky’s new hginit.com. You should read it. It’s interesting and funny. I’ve read a lot of quick-start tutorials, and no other does it as well.
The important thing to know, as a subversion user, is to stop fearing branching. Mercurial works best when you have a bunch of little ad-hoc branches weaving around each other.
When committing new changes, keep the first sentence of the log comment short and on a line by itself. It’ll be used for the summary.
More or less, most commands work like Subversion’s, and there is a TortoiseHg to match TortoiseSvn, if that’s you’re thing. But once you start using things that Subversion can’t do (bisect, record, shelve, rollback, queues, etc), you’re going to find yourself annoyed when you have to work with a Subversion repository and can’t use these extra features.
In case you’re curious, there’s lots of discussion on the why’s and wherefores on the SDL forums:
-Sam Lantinga, Founder and President, Galaxy Gameworks LLC