I've been meaning to switch away from CVS for a few years now, but I was
never sure what I wanted to switch to, so I kept delaying it. I finally
decided yesterday that Mercurial is pretty nice.
The Mercurial repository is available from http://hg.dovecot.org/ (has a
nice web interface). I wrote a small Mercurial mini-howto below. I'm not
a Mercurial expert yet, so if you know better ways to do some things
please let me know.
The CVS repositories will still exist for a while, but they won't be
updated anymore. If you notice the CVS being referenced somewhere (wiki,
docs, etc.) please let me know (or fix yourself in wiki).
1. Fetch the initial repository:
- ex. CVS HEAD: hg clone http://hg.dovecot.org/dovecot/
- ex. branch_1_0: hg clone http://hg.dovecot.org/dovecot-1.0/
- sieve plugin: hg clone http://hg.dovecot.org/dovecot-sieve-1.0/
The Sieve plugin currently works only with v1.0. I'll make a new
"dovecot-sieve" repository for CVS HEAD later.
2. Update the repository:
hg pull
hg merge # only needed if you had done any changes
hg update # to actually see the pulled changes
All of this can be done with fetch extension. You can enable it by
adding to ~/.hgrc:
[extensions]
hgext.fetch =
After that you can use "hg fetch" which does all the above 3 commands
(as far as I know, haven't really tried yet).
3. If you want to modify the sources, add your name to ~/.hgrc so it
goes nicely into changelogs:
[ui]
username = Timo Sirainen