Version control using Mercurial
Jul. 16th, 2010 01:06 pmSo... up until now I was doing my version control by keeping all the different versions of all my scripts in a series of folders on my home laptop, and pasting them into my Dreamhack. But I found that, since I'm working with quite a lot of different scripts, this gets cumbersome, and when things stop working it's quite hard to go back and find the exact combination of old versions of scripts that did work. So. I should use Mercurial.
It's a little bit complicated. You have to actually make changes and generate patches within ~/dw/cvs/dw-free, which is a copy of the working directory ~/dw. (The name 'CVS' is a red herring, since that is actually the name of a different version control system from Mercurial.) Then copy the changes to the working directories by doing this:
$ alias dwsync="$LJHOME/bin/cvsreport.pl --sync --cvsonly"
$ dwsync
About generating the patches: there are different ways to do this, but I think the best way is using Mercurial Queues, which you can do because ~/dw/cvs/dw-free is a Mercurial repository. For learning how to generate patches and work with Mercurial Queues:
Hg Init: a Mercurial tutorial
Mercurial: The Definitive Guide. It's a whole book, but written quite snappily, and I find I mainly only ever look at chapters 2 and 12.
The patches live in ~/dw/cvs/dw-free/.hg/patches.
Also:
Dreamwidth Dev Version Control
It's a little bit complicated. You have to actually make changes and generate patches within ~/dw/cvs/dw-free, which is a copy of the working directory ~/dw. (The name 'CVS' is a red herring, since that is actually the name of a different version control system from Mercurial.) Then copy the changes to the working directories by doing this:
$ alias dwsync="$LJHOME/bin/cvsreport.pl --sync --cvsonly"
$ dwsync
About generating the patches: there are different ways to do this, but I think the best way is using Mercurial Queues, which you can do because ~/dw/cvs/dw-free is a Mercurial repository. For learning how to generate patches and work with Mercurial Queues:
Hg Init: a Mercurial tutorial
Mercurial: The Definitive Guide. It's a whole book, but written quite snappily, and I find I mainly only ever look at chapters 2 and 12.
The patches live in ~/dw/cvs/dw-free/.hg/patches.
Also:
Dreamwidth Dev Version Control