
My second PeepCode screencast, Meet Mercurial, has just gone live. The screencast is a 50 minute exploration of Mercurial, a distributed version control system that offers a faster and more agile way of managing projects. It’s used by projects like Mozilla, Python, Adium, and companies like Google and Sun.
I tried to make this screencast useful both to people who are new to SCM in general, as well as those coming from the world of CVS, Subversion, or Git, by starting out simply, and then working through both basic and advanced features. My hope is that there’s something useful in it for anybody interested in learning Mercurial.
When I started researching Mercurial, I was surprised to discover just how elegant and straight forward of a system it is. In many ways, it’s just as easy to use as Subversion, while still offering most of the same features I’d come to love about Git, just without the additional complexity. Less technical people will find Mercurial easier to learn, and experienced SCM users will be pleased with its performance and robust feature set.
Through the screencast development process, I found myself using Mercurial more and more, and although I still use Git on some collaborative projects, I’ve actually converted all of the projects I manage to Mercurial, hosting most of them on BitBucket, a fully featured collaborative code-sharing website for managing development (you can see my repositories here).
I had a great time creating the Meet Mercurial screencast. As in the past, Geoffrey Grosenbach offered his experience and guidance throughout the process, taking my “finished product” to a whole new level with his cool animations, music, and editing kung-fu.
I hope you enjoy watching it as much as I enjoyed making it.








Jesper Noehr
10 July 2009 at 4:54 pm
I just finished watching it a couple of hours ago, and I’m really impressed with how thorough and yet down to earth it was. Too bad it ain’t free, otherwise it would’ve been one of *the* places to go to pick up on Mercurial ;-)
I’ll be recommending this to newcomers in the future, and I hope to see one on MQ soon? ;-)
Nathan Youngman
10 July 2009 at 5:59 pm
Your screencast provided a very good introduction, and pointed out a few things I need to look into more (like the behavior of copy/move). I also appreciated the comments on how it is like/unlike Git and Subversion.
A more advanced one on MQ and the like would be great, otherwise it’s a good hook that can be followed up with the book.
Histrionic
10 July 2009 at 6:18 pm
I haven’t watched it yet, but it sounds like it will be good from the outline and the sample.
A future direction I’d be interested in is how Mercurial command line and TortoiseHG users (which are likely to be more common on Windows) can work together on repositories. Since one of the current strengths of Mercurial is its cross-platform support, I think there will be teams collaborating in this way. I know a team I’m working with is doing just that.
Ben Stanfield
11 July 2009 at 1:40 am
This was a great introduction, but didn’t cover the part of source control I’ve always had trouble with. Specifically, if I’m building a website and using source control, how can I get a bunch of code in the repository to deploy onto a production webserver in the most effective way.
Nathan Youngman
21 July 2009 at 2:48 am
@Histrionic It shouldn’t really matter which tools you’re using. In terms of cross-platform support, some tips on handling line endings and unicode settings would be handy.
@Ben not only is deployment a pretty big topic to itself, it depends on your platform. If deploying to Linux (via SSH), Capistrano can work regardless of SCM and the language your code is in. Not sure if an equivalent exists for Windows deployments, we just sync folders with Beyond Compare, which doesn’t tie to any particular SCM.