From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from localhost (localhost [127.0.0.1]) by olra.theworths.org (Postfix) with ESMTP id 3E7074074C9 for ; Fri, 6 Jan 2012 14:56:24 -0800 (PST) X-Virus-Scanned: Debian amavisd-new at olra.theworths.org X-Spam-Flag: NO X-Spam-Score: 0 X-Spam-Level: X-Spam-Status: No, score=0 tagged_above=-999 required=5 tests=[none] autolearn=disabled 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 x79x299Cefvj for ; Fri, 6 Jan 2012 14:56:23 -0800 (PST) Received: from mail-gw3.nixu.fi (mail-gw3.nixu.fi [193.209.237.7]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by olra.theworths.org (Postfix) with ESMTPS id 5FF104074C7 for ; Fri, 6 Jan 2012 14:56:23 -0800 (PST) Received: from pps.filterd (mail-gw3 [127.0.0.1]) by mail-gw3.nixu.fi (8.14.4/8.14.4) with SMTP id q06MsCwY028833; Sat, 7 Jan 2012 00:56:20 +0200 Received: from taco2.nixu.fi (taco2.nixu.fi [194.197.118.31]) by mail-gw3.nixu.fi with ESMTP id 114cs0xu8b-1 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=NOT); Sat, 07 Jan 2012 00:56:20 +0200 Received: from taco2.nixu.fi (taco2.nixu.fi [194.197.118.31]) by taco2.nixu.fi (8.14.3/8.14.3/Debian-5+lenny1) with ESMTP id q06MuJBe011453; Sat, 7 Jan 2012 00:56:19 +0200 From: Tomi Ollila To: David Edmondson , notmuch@notmuchmail.org Subject: Re: [PATCH] emacs: Helpers for notmuch developers. In-Reply-To: <1325685678-12710-1-git-send-email-dme@dme.org> References: <1325685678-12710-1-git-send-email-dme@dme.org> User-Agent: Notmuch/0.10.2+157~g442d405 (http://notmuchmail.org) Emacs/23.3.1 (i686-pc-linux-gnu) X-Face: HhBM'cA~ MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:5.5.7110, 1.0.211, 0.0.0000 definitions=2012-01-05_05:2012-01-05, 2012-01-05, 1970-01-01 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 ipscore=0 suspectscore=0 phishscore=0 bulkscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=6.0.2-1012030000 definitions=main-1201060286 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: Fri, 06 Jan 2012 22:56:24 -0000 On Wed, 4 Jan 2012 14:01:18 +0000, David Edmondson wrote: > --- > > I've been using this for a few days and decided to share it to get > feedback. Reviewing patches can be tedious, so I tried to make things > a little simpler. > > To use this, load the file and then from `notmuch-show-mode' invoke > `notmuch-dev-show-review-patch'. It assumes that any open messages > contain patches and attempts to build a repository with the patches > applied. > > General management (i.e. keeping up to date) of the repository it uses > is your responsibility, as is cleaning out old branches. You can, of > course, just delete the temporary repository after using it - the code > will re-create it next time. > > If you have a slow network connection then a local copy of the main > repository can be specified by changing > `notmuch-dev-master-repository'. > > Comments? I think this is great. I've worked on something related but the emacs MUA "integration" makes patching simpler (My thing worked on shell and would require a 'recipe' file to describe HEAD commit and patch message id:s). What I've done differently is that I already have cloned notmuch repository somewhere which I attempt to keep up-to-date. For repository which I'm going to patch I first do: git clone --local --shared --no-checkout /path/to/notmuch/repo notmuch-dev-$USER git --git-dir notmuch-dev-$USER/.git' config --unset remote.origin.url cd notmuch-dev-$USER git checkout -b patched $commit I.e. 1) I created a local repository clone, sharing objects without initial checkout. 2) removed "remote" origin so accidental pushes are not possible 3) checkout out tree from some commit (possible not remote HEAD) And this is done every time before new patchset is applied -- always on top of clean working directory. What do you think of this approach related to your way cloning the repo and then deleting/creating the branch. Just that developer may mess with the repository contents and then there is tedious working tree cleanup to be done (especially those who are not so fluent using git). Tomi