mirror of
https://github.com/git/git.git
synced 2024-12-13 11:54:56 +08:00
f0298cf1c6
When HEAD is detached, --all should list it, too, logically, as a detached HEAD is by definition a temporary, unnamed branch. It is especially necessary to list it when garbage collecting, as the detached HEAD would be trashed. Noticed by Thomas Rast. Note that this affects creating bundles with --all; I contend that it is a good change to add the HEAD, so that cloning from such a bundle will give you a current branch. However, I had to fix t5701 as it assumed that --all does not imply HEAD. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
39 lines
498 B
Bash
Executable File
39 lines
498 B
Bash
Executable File
#!/bin/sh
|
|
|
|
test_description='--all includes detached HEADs'
|
|
|
|
. ./test-lib.sh
|
|
|
|
|
|
commit () {
|
|
test_tick &&
|
|
echo $1 > foo &&
|
|
git add foo &&
|
|
git commit -m "$1"
|
|
}
|
|
|
|
test_expect_success 'setup' '
|
|
|
|
commit one &&
|
|
commit two &&
|
|
git checkout HEAD^ &&
|
|
commit detached
|
|
|
|
'
|
|
|
|
test_expect_success 'rev-list --all lists detached HEAD' '
|
|
|
|
test 3 = $(git rev-list --all | wc -l)
|
|
|
|
'
|
|
|
|
test_expect_success 'repack does not lose detached HEAD' '
|
|
|
|
git gc &&
|
|
git prune --expire=now &&
|
|
git show HEAD
|
|
|
|
'
|
|
|
|
test_done
|