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 CFD5D431FBC for ; Sun, 5 Oct 2014 08:47:43 -0700 (PDT) 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=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001] 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 XXvyCefL5BdU for ; Sun, 5 Oct 2014 08:47:36 -0700 (PDT) Received: from resqmta-po-08v.sys.comcast.net (resqmta-po-08v.sys.comcast.net [96.114.154.167]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by olra.theworths.org (Postfix) with ESMTPS id 2FB6E431FB6 for ; Sun, 5 Oct 2014 08:47:36 -0700 (PDT) Received: from resomta-po-15v.sys.comcast.net ([96.114.154.239]) by resqmta-po-08v.sys.comcast.net with comcast id zTnU1o0015AAYLo01Tnaz3; Sun, 05 Oct 2014 15:47:34 +0000 Received: from odin.tremily.us ([24.18.63.50]) by resomta-po-15v.sys.comcast.net with comcast id zTnZ1o005152l3L01TnZuY; Sun, 05 Oct 2014 15:47:34 +0000 Received: from mjolnir.tremily.us (unknown [192.168.0.150]) by odin.tremily.us (Postfix) with ESMTPS id 5FABA13F02B2; Sun, 5 Oct 2014 08:47:32 -0700 (PDT) Received: (nullmailer pid 15029 invoked by uid 1000); Sun, 05 Oct 2014 15:47:26 -0000 From: "W. Trevor King" To: notmuch@notmuchmail.org Subject: [PATCH] NEWS: Document "nmbug: Translate to Python" Date: Sun, 5 Oct 2014 08:47:21 -0700 Message-Id: <30987ac1951b6703839d1ec8546c91f2e94935ac.1412523971.git.wking@tremily.us> X-Mailer: git-send-email 2.1.0.60.g85f0837 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=comcast.net; s=q20140121; t=1412524054; bh=gXbQ9UMfAALzcs7kDxkHL6H/zv2uoLq+zu2CR7f41wI=; h=Received:Received:Received:Received:From:To:Subject:Date: Message-Id; b=rfhWIzJmxlrQqcfJSEieOmRwhj09YCoetqyAhtpFdMagRin434Sle+wTt0EdYfdW1 CrzizY0G+TfW489akTSDxuvvwm31LVAHnRdiPMlbn97TPA4FkOlpqr1qFP9cA2fUZs 3GG01gS89CDZQcF7iCuk4oLrOfKlO/SNn8vbIStVFK9Q6KNBlfoWxxEppA2Rr4rn8M H4pVyAsPdVg9AfmbGofC+lHoe5mL1DgHM1+ovA66xpZC7+ogGYOaX82t9FPBV4QUy9 uwz1SvismsBHqOTD1cvyi8mu9mg9IB5tNve75JlHXHuoFU2Ma1xLZq7iDBCGSWb+Bj lVUhxsLDfOzig== Cc: Tomi Ollila , David Bremner 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: Sun, 05 Oct 2014 15:47:44 -0000 This is mostly culled from the commit message for 7f2cb3be (nmbug: Translate to Python, 2014-10-03). I realized while writing it that the 7f2cb3be commit message has: * 'nmbug log' now execs 'git log', as there's no need to keep the Python process around once we've launched Git there. But we dropped that exec in favor of the subprocess approach between v3 and v4, I just forgot to update the commit message [1]. [1]: id:e630b6763e9d0771718afee41ea15b29bb4a1de8.1409935538.git.wking@tremily.us http://article.gmane.org/gmane.mail.notmuch.general/19007 --- NEWS | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/NEWS b/NEWS index fa57e5d..c111dd0 100644 --- a/NEWS +++ b/NEWS @@ -22,6 +22,54 @@ Library changes Add return status to notmuch_database_close and notmuch_database_destroy +nmbug +----- + +The Perl script has been translated to Python; you'll need Python 2.7 +or anything from the 3.x line. This gives us better control over +subprocesses without resorting to third-party modules. Most of the +user-facing interface is the same, but there are a few changes, where +reproducing the original interface was too difficult or we saw a +change to make the underlying Git interface accessible: + +* 'nmbug help' has been split between the general 'nmbug --help' and + the command-specific 'nmbug COMMAND --help'. + +* Commands are no longer split into "most common", "other useful", and + "less common" sets. + +* 'nmbug commit' now only uses a single argument for the optional + commit-message text. + +* The default repository for 'nmbug push' and 'nmbug fetch' is now the + current branch's upstream (branch..remote) instead of + 'origin'. When we have to, we extract this remote by hand, but + where possible we just call the Git command without a repository + argument, and leave it to Git to figure out the default. + +* 'nmbug push' accepts multiple refspecs if you want to explicitly + specify what to push. Otherwise, the refspec(s) pushed depend on + push.default. The Perl version hardcoded 'master' as the pushed + refspec. + +* 'nmbug pull' defaults to the current branch's upstream + (branch..remote and branch..merge) instead of hardcoding + 'origin' and 'master'. It also supports multiple refspecs if for + some crazy reason you need an octopus merge (but mostly to avoid + breaking consistency with 'git pull'). + +* 'nmbug status' now catches stderr, and doesn't print errors like: + + No upstream configured for branch 'master' + + The Perl implementation had just learned to avoid crashing on that + case, but wasn't yet catching the dying subprocess's stderr. + +* 'nmbug archive' now accepts positional arguments for the tree-ish + and additional 'git archive' options. For example, you can run: + + $ nmbug archive HEAD -- --format tar.gz + nmbug-status ------------ -- 2.1.0.60.g85f0837