summaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
authorThomas Rast <trast@inf.ethz.ch>2013-06-01 11:02:00 (GMT)
committerJunio C Hamano <gitster@pobox.com>2013-06-02 19:31:17 (GMT)
commitf0c73200e86b6166596f45ce32b7f04291074182 (patch)
treee5cf183cf35e94811ba9f8b4ac0639d5d03305de /t
parent239222f587ed06f96d90dd71c66d80a2b1e3dc9f (diff)
downloadgit-f0c73200e86b6166596f45ce32b7f04291074182.zip
git-f0c73200e86b6166596f45ce32b7f04291074182.tar.gz
git-f0c73200e86b6166596f45ce32b7f04291074182.tar.bz2
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')
-rwxr-xr-xt/t7501-commit.sh13
1 files changed, 13 insertions, 0 deletions
diff --git a/t/t7501-commit.sh b/t/t7501-commit.sh
index 195e747..99ce36f 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