зеркало из https://github.com/microsoft/git.git
t2020-checkout-detach: check for the number of orphaned commits
Change the test that orphans commits to leave 2 commits behind. Add a test that leaves only one of these behind. The next patch will truncate the list of orphaned commits earlier. With this preliminary update, its effect will become more obvious. Signed-off-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
e8dde3e5f9
Коммит
f94920993a
|
@ -11,14 +11,13 @@ check_not_detached () {
|
||||||
git symbolic-ref -q HEAD >/dev/null
|
git symbolic-ref -q HEAD >/dev/null
|
||||||
}
|
}
|
||||||
|
|
||||||
ORPHAN_WARNING='you are leaving .* commit.*behind'
|
|
||||||
PREV_HEAD_DESC='Previous HEAD position was'
|
PREV_HEAD_DESC='Previous HEAD position was'
|
||||||
check_orphan_warning() {
|
check_orphan_warning() {
|
||||||
test_i18ngrep "$ORPHAN_WARNING" "$1" &&
|
test_i18ngrep "you are leaving $2 behind" "$1" &&
|
||||||
test_i18ngrep ! "$PREV_HEAD_DESC" "$1"
|
test_i18ngrep ! "$PREV_HEAD_DESC" "$1"
|
||||||
}
|
}
|
||||||
check_no_orphan_warning() {
|
check_no_orphan_warning() {
|
||||||
test_i18ngrep ! "$ORPHAN_WARNING" "$1" &&
|
test_i18ngrep ! "you are leaving .* commit.*behind" "$1" &&
|
||||||
test_i18ngrep "$PREV_HEAD_DESC" "$1"
|
test_i18ngrep "$PREV_HEAD_DESC" "$1"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -110,12 +109,24 @@ test_expect_success 'checkout warns on orphan commits' '
|
||||||
git checkout --detach two &&
|
git checkout --detach two &&
|
||||||
echo content >orphan &&
|
echo content >orphan &&
|
||||||
git add orphan &&
|
git add orphan &&
|
||||||
git commit -a -m orphan &&
|
git commit -a -m orphan1 &&
|
||||||
|
echo new content >orphan &&
|
||||||
|
git commit -a -m orphan2 &&
|
||||||
|
orphan2=$(git rev-parse HEAD) &&
|
||||||
git checkout master 2>stderr
|
git checkout master 2>stderr
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'checkout warns on orphan commits: output' '
|
test_expect_success 'checkout warns on orphan commits: output' '
|
||||||
check_orphan_warning stderr
|
check_orphan_warning stderr "2 commits"
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'checkout warns orphaning 1 of 2 commits' '
|
||||||
|
git checkout "$orphan2" &&
|
||||||
|
git checkout HEAD^ 2>stderr
|
||||||
|
'
|
||||||
|
|
||||||
|
test_expect_success 'checkout warns orphaning 1 of 2 commits: output' '
|
||||||
|
check_orphan_warning stderr "2 commits"
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'checkout does not warn leaving ref tip' '
|
test_expect_success 'checkout does not warn leaving ref tip' '
|
||||||
|
|
Загрузка…
Ссылка в новой задаче