The other day I found a really useful extension for Mercurial * on Bitbucket: hgexportfiles
* For the ones among you who listen to 2DDU Podcast, the podcast Mark Mandel and I are hosting every few weeks, you might know that Mercurial is that apparently totally unknown, irrelevant and rather obscure distributed version control system because everyone else besides me seems to use Git exclusively nowadays. Whatever! 🙂
This extension is particularly useful and convenient for ex-SVN users (who I work with a lot) who like and use the changes-between-revisions-and-export-the-whole-thing-via-Tortoise workflow.
Hgexportfiles essentially exports the files that have changed between two revisions to a folder structure you can specify and it will traverse through the directory structure of your codebase while doing that.
hg exportfiles -r 1023:1076 /myexport/1023_1076
It’s important to realise that the two revisions you’re specifying have to be from the same branch. Cross-branch export doesn’t work and wouldn’t make much sense in the first place.
If you’re using Mercurial, you should give it a try. Make sure you test the extension with a new “play/test” repository before you accidentally destroy the only clone of your super-awesome-new-app repository.