From: Nguyễn Thái Ngọc Duy Date: Tue, 29 Jan 2013 12:12:54 GMT Subject: [PATCH] branch: show (rebasing) or (bisecting) instead of (no branch) when possible Message-ID: <1359461574-24529-1-git-send-email-pclouds@gmail.com> Signed-off-by: Nguyễn Thái Ngọc Duy --- In the spirit of status' in-progress info. I think showing this is more useful than "(no branch)". I tend to do "git br" more often than "git st" and this catches my eyes. builtin/branch.c | 10 +++++++++- t/t6030-bisect-porcelain.sh | 2 +- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/builtin/branch.c b/builtin/branch.c index 873f624..b0c5a20 100644 --- a/builtin/branch.c +++ b/builtin/branch.c @@ -557,7 +557,15 @@ static void show_detached(struct ref_list *ref_list) if (head_commit && is_descendant_of(head_commit, ref_list->with_commit)) { struct ref_item item; - item.name = xstrdup(_("(no branch)")); + struct stat st; + if ((!stat(git_path("rebase-apply"), &st) && + stat(git_path("rebase-apply/applying"), &st)) || + !stat(git_path("rebase-merge"), &st)) + item.name = xstrdup(_("(rebasing)")); + else if (!stat(git_path("BISECT_LOG"), &st)) + item.name = xstrdup(_("(bisecting)")); + else + item.name = xstrdup(_("(no branch)")); item.width = utf8_strwidth(item.name); item.kind = REF_LOCAL_BRANCH; item.dest = NULL; diff --git a/t/t6030-bisect-porcelain.sh b/t/t6030-bisect-porcelain.sh index 3e0e15f..bc21bc9 100755 --- a/t/t6030-bisect-porcelain.sh +++ b/t/t6030-bisect-porcelain.sh @@ -164,7 +164,7 @@ test_expect_success 'bisect start: existing ".git/BISECT_START" not modified if cp .git/BISECT_START saved && test_must_fail git bisect start $HASH4 foo -- && git branch > branch.output && - test_i18ngrep "* (no branch)" branch.output > /dev/null && + test_i18ngrep "* (bisecting)" branch.output > /dev/null && test_cmp saved .git/BISECT_START ' test_expect_success 'bisect start: no ".git/BISECT_START" if mistaken rev' ' -- 1.8.1.1.459.g5970e58