[Dovecot] Mercurial repositories for ManageSieve and Sieve
Stephan Bosch
stephan at rename-it.nl
Tue Jun 17 13:06:54 EEST 2008
Hello Dovecot users,
Recently I was asked to use Mercurial for the ManageSieve development
just like Dovecot. As a matter of fact I have been using Mercurial for
some time now. Now that I am back from a short and active vacation I am
ready to publish my repositories. The repositories are publicly
available at:
http://hg.rename-it.nl/
The -patch repositories are so-called Mercurial Queues (MQ)
repositories. This provides an easy (quilt-like) means to manage patches
over an upstream source repository like the one that exists for Dovecot.
The patches are managed in a repository called 'patches' below the .hg
directory in your main repository. Currently, these MQ repositories only
have the managesieve.patch witch is the actual patch I refresh and
release each time Timo makes a new Dovecot release.
The following command sequence shows how to incorporate the managesieve
patch repository in a freshly cloned dovecot-1.1 tree:
hg clone http://hg.dovecot.org/dovecot-1.1
cd dovecot-1.1
hg clone http://hg.rename-it.nl/dovecot-1.1-managesieve-patch .hg/patches
hg qpush
When updating the dovecot tree it is important to unapply all patches
before performing 'hg pull' on the dovecot tree:
hg qpop --all
hg pull
hg update
hg qpush
This otherwise results in a multi-head situation which can be resolved
using a 'hg rollback' or using 'hg qpop --all' afterwards, which should
gracefully clean up the situation (never merge the heads!).
Updating the patch repository works as follows:
hg qpop --all
hg -R .hg/patches pull
hg -R .hg/patches update
hg qpush
After 'hg qpush' the dovecot repository is patched and can be compiled
as explained for the normal patch method using the .diff.gz (don't
forget ./autogen.sh for compiling dovecot in a mercurial repository).
The actual ManageSieve implementation for Dovecot-1.1 is available as a
separate package and thus there exists a separate repository for it. Its
compilation is no different from the .tar.gz releases, except for the
fact that (just like for dovecot) ./autogen.sh needs to be executed
before configure.
The new (and highly experimental) Sieve implementation is available as
the dovecot-libsieve repository. It contains a README file that should
explain most of its features and the installation procedure. This is
currently still not release-ready and should not be used for any
important mail whatsoever. I publish this for people who want to test
and play around with it to provide feedback on early bugs and
(release-critical) missing features. The TODO and README files provide
an overview of my current progress towards a first release.
Regards,
Stephan.
More information about the dovecot
mailing list