[PATCH 2/2] nmbug-status: Use 'show-ref --heads' for loading configs
W. Trevor King
wking at tremily.us
Sat May 10 12:16:39 PDT 2014
When loading configs from Git, the bare branch name (without a
refs/heads/ prefix or similar) matches all branches of that name
(including remote-tracking branches):
.nmbug $ git show-ref config
48f3bbf1d1492e5f3d2f01de6ea79a30d3840f20 refs/heads/config
48f3bbf1d1492e5f3d2f01de6ea79a30d3840f20 refs/remotes/origin/config
4b6dbd9ffd152e7476f5101eff26747f34497cee refs/remotes/wking/config
Instead of relying on the ordering of the matching references, use
--heads to ensure we only match local branches.
---
NEWS | 18 ++++++++++++++++++
devel/nmbug/nmbug | 1 +
devel/nmbug/nmbug-status | 2 +-
3 files changed, 20 insertions(+), 1 deletion(-)
diff --git a/NEWS b/NEWS
index bcd311d..5f7d30a 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,21 @@
+Notmuch 0.19 (UNRELEASED)
+=========================
+
+nmbug
+-----
+
+`nmbug-status` now only matches local branches when reading
+`status-config.json` from the `config` branch of the `NMBGIT`
+repository. To help new users running `nmbug-status`, `nmbug clone`
+now creates a local `config` branch tracking `origin/config`. Folks
+who use `nmbug-status` with an in-Git config (i.e. you don't use the
+`--config` option) who already have `NMBGIT` set up are encouraged to
+run:
+
+ git checkout config origin/config
+
+in their `NMBGIT` repository (usually `~/.nmbug`).
+
Notmuch 0.18~rc0 (2014-04-22)
=============================
diff --git a/devel/nmbug/nmbug b/devel/nmbug/nmbug
index b18ded7..c6793a5 100755
--- a/devel/nmbug/nmbug
+++ b/devel/nmbug/nmbug
@@ -135,6 +135,7 @@ sub do_clone {
or die "'git clone' exited with nonzero value\n";
git ('config', '--unset', 'core.worktree');
git ('config', 'core.bare', 'true');
+ git ('branch', 'config', 'origin/config');
}
sub is_committed {
diff --git a/devel/nmbug/nmbug-status b/devel/nmbug/nmbug-status
index 75a6e47..610c281 100755
--- a/devel/nmbug/nmbug-status
+++ b/devel/nmbug/nmbug-status
@@ -72,7 +72,7 @@ def read_config(path=None, encoding=None):
# read only the first line from the pipe
sha1_bytes = subprocess.Popen(
- ['git', '--git-dir', nmbhome, 'show-ref', '-s', branch],
+ ['git', '--git-dir', nmbhome, 'show-ref', '-s', '--heads', branch],
stdout=subprocess.PIPE).stdout.readline()
sha1 = sha1_bytes.decode(encoding).rstrip()
if not sha1:
--
1.9.1.353.gc66d89d
More information about the notmuch
mailing list