diff options
author | Thomas Rast <trast@inf.ethz.ch> | 2013-06-01 15:02:00 +0400 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2013-06-02 23:31:17 +0400 |
commit | f0c73200e86b6166596f45ce32b7f04291074182 (patch) | |
tree | e5cf183cf35e94811ba9f8b4ac0639d5d03305de /t/t7501-commit.sh | |
parent | 239222f587ed06f96d90dd71c66d80a2b1e3dc9f (diff) |
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>
Diffstat (limited to 't/t7501-commit.sh')
-rwxr-xr-x | t/t7501-commit.sh | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/t/t7501-commit.sh b/t/t7501-commit.sh index 195e7477d8..99ce36f5ef 100755 --- a/t/t7501-commit.sh +++ b/t/t7501-commit.sh @@ -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 |