Return-Path: X-Original-To: notmuch@notmuchmail.org Delivered-To: notmuch@notmuchmail.org Received: from localhost (localhost [127.0.0.1]) by olra.theworths.org (Postfix) with ESMTP id 587FF4196F3 for ; Mon, 29 Mar 2010 02:03:09 -0700 (PDT) X-Virus-Scanned: Debian amavisd-new at olra.theworths.org X-Spam-Flag: NO X-Spam-Score: -1.9 X-Spam-Level: X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9] autolearn=ham Received: from olra.theworths.org ([127.0.0.1]) by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id yZZ3BgFZ02an for ; Mon, 29 Mar 2010 02:03:08 -0700 (PDT) Received: from max.feld.cvut.cz (max.feld.cvut.cz [147.32.192.36]) by olra.theworths.org (Postfix) with ESMTP id 72C704196F2 for ; Mon, 29 Mar 2010 02:03:08 -0700 (PDT) Received: from localhost (unknown [192.168.200.4]) by max.feld.cvut.cz (Postfix) with ESMTP id CF39C19F338E; Mon, 29 Mar 2010 11:03:07 +0200 (CEST) X-Virus-Scanned: IMAP AMAVIS Received: from max.feld.cvut.cz ([192.168.200.1]) by localhost (styx.feld.cvut.cz [192.168.200.4]) (amavisd-new, port 10044) with ESMTP id 0nN6IxIXNsV6; Mon, 29 Mar 2010 11:03:06 +0200 (CEST) Received: from imap.feld.cvut.cz (imap.feld.cvut.cz [147.32.192.34]) by max.feld.cvut.cz (Postfix) with ESMTP id 8E90C19F330B; Mon, 29 Mar 2010 11:03:06 +0200 (CEST) Received: from steelpick.2x.cz (k335-30.felk.cvut.cz [147.32.86.30]) (Authenticated sender: sojkam1) by imap.feld.cvut.cz (Postfix) with ESMTPSA id 24D3BFA003; Mon, 29 Mar 2010 11:03:05 +0200 (CEST) Received: from wsh by steelpick.2x.cz with local (Exim 4.71) (envelope-from ) id 1NwAsD-0002rb-Ob; Mon, 29 Mar 2010 11:03:05 +0200 From: Michal Sojka To: Sebastian Spaeth , David Edmondson , notmuch@notmuchmail.org In-Reply-To: <87pr2n1sar.fsf@SSpaeth.de> References: <87iq8o76r8.fsf@uf.hh.sledj.net> <87aatt2pf7.fsf@SSpaeth.de> <87y6hdgfr3.fsf@steelpick.2x.cz> <87pr2n1sar.fsf@SSpaeth.de> Date: Mon, 29 Mar 2010 11:03:05 +0200 Message-ID: <87k4svh54m.fsf@steelpick.2x.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Subject: Re: [notmuch] JSON based emacs UI X-BeenThere: notmuch@notmuchmail.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: "Use and development of the notmuch mail system." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Mar 2010 09:03:09 -0000 On Mon, 29 Mar 2010, Sebastian Spaeth wrote: > On Sun, 28 Mar 2010 07:46:40 +0200, Michal Sojka wrote: > > I don't think this can be solved only in Makefile. From my look at dme's > > repo, he adds a new subcomand 'part', which is used by the UI. So if you > > want to use the new UI and your other features, you need to merge the > > things together. > > I agree that notmuch and notmuch.el need to be developed deployed in > close cooperation. However, this bundling makes things a bit more > complex to untangle. I am willing to e.g. add the -part improvement to > my own branch of notmuch, but I want to follow dme's frontend closely. > > > To build my version of notmuch, I use an ugly script > > (http://rtime.felk.cvut.cz/gitweb/notmuch.git/blob/refs/heads/debian-wsh:/wsh-buildpackage) > > which first does a big octopus merge to combine several features to one > > branch and then I build notmuch from there. The current state of my > > integration can be seen at > > http://rtime.felk.cvut.cz/gitweb/notmuch.git/shortlog/refs/heads/integration/features. > > Interesting, but a bit more complicated that I was originally thinking off. > > > This approach has a disadvantage that integration/features branch is > > often rewritten (whenever I add, remove or change a patch) so that > > others cannot track the branch. On the other side, the advantage is that > > others can easily see which patches I have applied on top of master. If > > Carl updates master, I just rerun the script and the updated integration > > branch is ready (unless there is a merge conflict). > > Very nice. Here is a simplified version of my script. It does only the merge. If you want to use it, I recommend adding this script to a separate branch so that you can track which branched were added or removed to your features branch (you will modify the $branches variable in the script). #!/bin/sh branches=" decode-headers-in-reply dme/citation-suffixes no-self-bcc-on-reply " set -e die() { echo >&2 "fatal: $*" exit 1 } if [ -z "$EXEC_OK" ]; then # If this script is tracked by repository, checking out another # branch could delete it so we copy it to tmp and run it from # there. script=$(mktemp -t notmuch-integrate.XXXXXX) cp "$0" "$script" EXEC_OK=1 export EXEC_OK exec sh "$script" "$@" fi [ $EXEC_OK != 1 ] && die "Error: something went wrong" trap "rm '$0'" EXIT git branch -D integration/features || : git checkout -b integration/features master git merge $branches