mirror of
https://github.com/git/git
synced 2024-08-24 18:26:02 +00:00
Merge branch 'ks/branch-list-detached-rebase-i'
"git branch --list" during an interrupted "rebase -i" now lets users distinguish the case where a detached HEAD is being rebased and a normal branch is being rebased. * ks/branch-list-detached-rebase-i: t3200: verify "branch --list" sanity when rebasing from detached HEAD branch --list: print useful info whilst interactive rebasing a detached HEAD
This commit is contained in:
commit
4cbaa6b47f
12
ref-filter.c
12
ref-filter.c
|
@ -1309,10 +1309,14 @@ char *get_head_description(void)
|
||||||
memset(&state, 0, sizeof(state));
|
memset(&state, 0, sizeof(state));
|
||||||
wt_status_get_state(&state, 1);
|
wt_status_get_state(&state, 1);
|
||||||
if (state.rebase_in_progress ||
|
if (state.rebase_in_progress ||
|
||||||
state.rebase_interactive_in_progress)
|
state.rebase_interactive_in_progress) {
|
||||||
strbuf_addf(&desc, _("(no branch, rebasing %s)"),
|
if (state.branch)
|
||||||
state.branch);
|
strbuf_addf(&desc, _("(no branch, rebasing %s)"),
|
||||||
else if (state.bisect_in_progress)
|
state.branch);
|
||||||
|
else
|
||||||
|
strbuf_addf(&desc, _("(no branch, rebasing detached HEAD %s)"),
|
||||||
|
state.detached_from);
|
||||||
|
} else if (state.bisect_in_progress)
|
||||||
strbuf_addf(&desc, _("(no branch, bisect started on %s)"),
|
strbuf_addf(&desc, _("(no branch, bisect started on %s)"),
|
||||||
state.branch);
|
state.branch);
|
||||||
else if (state.detached_from) {
|
else if (state.detached_from) {
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
test_description='git branch assorted tests'
|
test_description='git branch assorted tests'
|
||||||
|
|
||||||
. ./test-lib.sh
|
. ./test-lib.sh
|
||||||
|
. "$TEST_DIRECTORY"/lib-rebase.sh
|
||||||
|
|
||||||
test_expect_success 'prepare a trivial repository' '
|
test_expect_success 'prepare a trivial repository' '
|
||||||
echo Hello >A &&
|
echo Hello >A &&
|
||||||
|
@ -1246,6 +1247,29 @@ test_expect_success '--merged is incompatible with --no-merged' '
|
||||||
test_must_fail git branch --merged HEAD --no-merged HEAD
|
test_must_fail git branch --merged HEAD --no-merged HEAD
|
||||||
'
|
'
|
||||||
|
|
||||||
|
test_expect_success '--list during rebase' '
|
||||||
|
test_when_finished "reset_rebase" &&
|
||||||
|
git checkout master &&
|
||||||
|
FAKE_LINES="1 edit 2" &&
|
||||||
|
export FAKE_LINES &&
|
||||||
|
set_fake_editor &&
|
||||||
|
git rebase -i HEAD~2 &&
|
||||||
|
git branch --list >actual &&
|
||||||
|
test_i18ngrep "rebasing master" actual
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success '--list during rebase from detached HEAD' '
|
||||||
|
test_when_finished "reset_rebase && git checkout master" &&
|
||||||
|
git checkout master^0 &&
|
||||||
|
oid=$(git rev-parse --short HEAD) &&
|
||||||
|
FAKE_LINES="1 edit 2" &&
|
||||||
|
export FAKE_LINES &&
|
||||||
|
set_fake_editor &&
|
||||||
|
git rebase -i HEAD~2 &&
|
||||||
|
git branch --list >actual &&
|
||||||
|
test_i18ngrep "rebasing detached HEAD $oid" actual
|
||||||
|
'
|
||||||
|
|
||||||
test_expect_success 'tracking with unexpected .fetch refspec' '
|
test_expect_success 'tracking with unexpected .fetch refspec' '
|
||||||
rm -rf a b c d &&
|
rm -rf a b c d &&
|
||||||
git init a &&
|
git init a &&
|
||||||
|
|
Loading…
Reference in a new issue