Browse Source

Test 'commit --only' after 'checkout --orphan'

There are some index handling subtleties in 'commit --only' that are
best tested when we have an existing index, but an unborn or empty
HEAD.  These circumstances are easily produced by 'checkout --orphan',
but we did not previously have a test for it.

The main expected failure mode would be: erroneously loading the
existing index contents when building the temporary index that is used
for --only.  Cf.

  http://article.gmane.org/gmane.comp.version-control.git/225969

and subsequent discussion.

Signed-off-by: Thomas Rast <trast@inf.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Thomas Rast 12 years ago committed by Junio C Hamano
parent
commit
f0c73200e8
  1. 13
      t/t7501-commit.sh

13
t/t7501-commit.sh

@ -524,4 +524,17 @@ test_expect_success 'commit a file whose name is a dash' ' @@ -524,4 +524,17 @@ test_expect_success 'commit a file whose name is a dash' '
test_i18ngrep " changed, 5 insertions" output
'

test_expect_success '--only works on to-be-born branch' '
# This test relies on having something in the index, as it
# would not otherwise actually prove much. So check this.
test -n "$(git ls-files)" &&
git checkout --orphan orphan &&
echo foo >newfile &&
git add newfile &&
git commit --only newfile -m"--only on unborn branch" &&
echo newfile >expected &&
git ls-tree -r --name-only HEAD >actual &&
test_cmp expected actual
'

test_done

Loading…
Cancel
Save