[Dovecot-news] CVS to Mercurial switch

Timo Sirainen tss at iki.fi
Sat May 19 15:19:43 EEST 2007

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:

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:

username = Timo Sirainen <tss at iki.fi>

You're able to "hg commit" your own changes into your repository. If you
want to publish them, use "hg log" to see the changeset ID, and then use
"hg export changesetid" to get patch ("hg export tip" might work too if
you just want the last change(?)). You can then email the patch to
Dovecot mailing list to get it merged.

With CVS the ChangeLog file was updated every 15 minutes. Now the
ChangeLog file doesn't exist in the repository at all. Instead it's
generated with "hg log --style=changelog" when running "make dist".

A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : http://dovecot.org/pipermail/dovecot-news/attachments/20070519/2cf54590/attachment.pgp 

More information about the Dovecot-news mailing list