Stephan Bosch
2008-Jun-17 10:06 UTC
[Dovecot] Mercurial repositories for ManageSieve and Sieve
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.