--- /dev/null
+Return-Path: <david@tethera.net>\r
+X-Original-To: notmuch@notmuchmail.org\r
+Delivered-To: notmuch@notmuchmail.org\r
+Received: from localhost (localhost [127.0.0.1])\r
+ by olra.theworths.org (Postfix) with ESMTP id 2A6B1431FBC\r
+ for <notmuch@notmuchmail.org>; Sun, 24 Aug 2014 13:07:54 -0700 (PDT)\r
+X-Virus-Scanned: Debian amavisd-new at olra.theworths.org\r
+X-Spam-Flag: NO\r
+X-Spam-Score: 0\r
+X-Spam-Level: \r
+X-Spam-Status: No, score=0 tagged_above=-999 required=5 tests=[none]\r
+ autolearn=disabled\r
+Received: from olra.theworths.org ([127.0.0.1])\r
+ by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024)\r
+ with ESMTP id E2wWpIcjjKiO for <notmuch@notmuchmail.org>;\r
+ Sun, 24 Aug 2014 13:07:49 -0700 (PDT)\r
+Received: from yantan.tethera.net (yantan.tethera.net [199.188.72.155])\r
+ (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits))\r
+ (No client certificate requested)\r
+ by olra.theworths.org (Postfix) with ESMTPS id DB3F6431FAE\r
+ for <notmuch@notmuchmail.org>; Sun, 24 Aug 2014 13:07:49 -0700 (PDT)\r
+Received: from remotemail by yantan.tethera.net with local (Exim 4.80)\r
+ (envelope-from <david@tethera.net>)\r
+ id 1XLe4q-0006WL-O4; Sun, 24 Aug 2014 17:07:48 -0300\r
+Received: (nullmailer pid 14117 invoked by uid 1000); Sun, 24 Aug 2014\r
+ 20:07:43 -0000\r
+From: David Bremner <bremner@debian.org>\r
+To: "W. Trevor King" <wking@tremily.us>\r
+Subject: Re: [PATCH v3] nmbug: Translate to Python\r
+In-Reply-To: <20140806233803.GJ31313@odin.tremily.us>\r
+References:\r
+ <84447a0ed48412e1587761d560d18cb5affd4f66.1405897133.git.wking@tremily.us>\r
+ <878un36bd5.fsf@maritornes.cs.unb.ca> <871tsue7gl.fsf@maritornes.cs.unb.ca>\r
+ <20140806233803.GJ31313@odin.tremily.us>\r
+User-Agent: Notmuch/0.18.1+72~g028c560 (http://notmuchmail.org) Emacs/24.3.1\r
+ (x86_64-pc-linux-gnu)\r
+Date: Sun, 24 Aug 2014 13:07:43 -0700\r
+Message-ID: <874mx1ejn4.fsf@maritornes.cs.unb.ca>\r
+MIME-Version: 1.0\r
+Content-Type: text/plain; charset=utf-8\r
+Content-Transfer-Encoding: quoted-printable\r
+Cc: notmuch@notmuchmail.org\r
+X-BeenThere: notmuch@notmuchmail.org\r
+X-Mailman-Version: 2.1.13\r
+Precedence: list\r
+List-Id: "Use and development of the notmuch mail system."\r
+ <notmuch.notmuchmail.org>\r
+List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,\r
+ <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>\r
+List-Archive: <http://notmuchmail.org/pipermail/notmuch>\r
+List-Post: <mailto:notmuch@notmuchmail.org>\r
+List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>\r
+List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,\r
+ <mailto:notmuch-request@notmuchmail.org?subject=subscribe>\r
+X-List-Received-Date: Sun, 24 Aug 2014 20:07:54 -0000\r
+\r
+"W. Trevor King" <wking@tremily.us> writes:\r
+\r
+> On Tue, Aug 05, 2014 at 10:24:10PM -0300, David Bremner wrote:\r
+>> I have a local commit that deletes a couple tags; when I attempt to\r
+>> merge I get complaints about local changes to files.\r
+>>=20\r
+>> error: Your local changes to the following files would be overwritten by=\r
+ merge:\r
+>> tags/1406859003-11561-2-git-send-email-amdragon@mit.edu/needs-review\r
+>> tags/1406859003-11561-3-git-send-email-amdragon@mit.edu/needs-review\r
+>> Please, commit your changes or stash them before you can merge.\r
+>> =E2=80=A6\r
+>> Calling the perl version of nmbug successfully creates a little=20\r
+>> diamond merge\r
+>\r
+> The Perl version has:\r
+>\r
+> git ( { GIT_WORK_TREE =3D> $tempwork }, 'checkout', '-f', 'HEAD');\r
+> git ( { GIT_WORK_TREE =3D> $tempwork }, 'merge', $commit);\r
+\r
+>\r
+> But the Python version only has:\r
+>\r
+> _git(\r
+> args=3D['merge', reference],\r
+> additional_env=3D{'GIT_WORK_TREE': workdir},\r
+> wait=3DTrue)\r
+>\r
+> I suppose we need the checkout to populate the working directory, but\r
+> I'm not sure we want to force the checkout. Do we expect to have\r
+> unmerged entries in the index?\r
+\r
+I can't remember now why the checkout was forced, so as long as you can\r
+test it, I guess try the unforced version first. I guess the merge will\r
+fail if there are unmerged entries in the index, but maybe we can find\r
+out why that happens and prevent it.\r
+\r
+d\r