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