git/t/t6014-rev-list-all.sh
Johannes Schindelin f0298cf1c6 revision walker: include a detached HEAD in --all
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>
2009-01-17 22:01:37 -08:00

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