t1410: fix breakage on case-insensitive filesystems

Two tests recently added to t1410 create branches "a" and
"a/b" to test d/f conflicts on reflogs. Earlier, unrelated
tests in that script create the path "A/B" in the working
tree.  There's no conflict on a case-sensitive filesystem,
but on a case-insensitive one, "git log" will complain that
"a/b" is both a revision and a working tree path.

We could fix this by using a "--" to disambiguate, but we
are probably better off using names that are less confusing
to make it more clear that they are unrelated to the working
tree files.  This patch turns "a/b" into "one/two".

Reported-by: Michael Blume <blume.mike@gmail.com>
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Jeff King 2014-11-08 20:59:18 -05:00 committed by Junio C Hamano
parent 9233887cce
commit aae828b911

View File

@ -246,36 +246,36 @@ test_expect_success 'gc.reflogexpire=false' '
'
test_expect_success 'stale dirs do not cause d/f conflicts (reflogs on)' '
test_when_finished "git branch -d a || git branch -d a/b" &&
test_when_finished "git branch -d one || git branch -d one/two" &&
git branch a/b master &&
echo "a/b@{0} branch: Created from master" >expect &&
git log -g --format="%gd %gs" a/b >actual &&
git branch one/two master &&
echo "one/two@{0} branch: Created from master" >expect &&
git log -g --format="%gd %gs" one/two >actual &&
test_cmp expect actual &&
git branch -d a/b &&
git branch -d one/two &&
# now logs/refs/heads/a is a stale directory, but
# we should move it out of the way to create "a" reflog
git branch a master &&
echo "a@{0} branch: Created from master" >expect &&
git log -g --format="%gd %gs" a >actual &&
# now logs/refs/heads/one is a stale directory, but
# we should move it out of the way to create "one" reflog
git branch one master &&
echo "one@{0} branch: Created from master" >expect &&
git log -g --format="%gd %gs" one >actual &&
test_cmp expect actual
'
test_expect_success 'stale dirs do not cause d/f conflicts (reflogs off)' '
test_when_finished "git branch -d a || git branch -d a/b" &&
test_when_finished "git branch -d one || git branch -d one/two" &&
git branch a/b master &&
echo "a/b@{0} branch: Created from master" >expect &&
git log -g --format="%gd %gs" a/b >actual &&
git branch one/two master &&
echo "one/two@{0} branch: Created from master" >expect &&
git log -g --format="%gd %gs" one/two >actual &&
test_cmp expect actual &&
git branch -d a/b &&
git branch -d one/two &&
# same as before, but we only create a reflog for "a" if
# same as before, but we only create a reflog for "one" if
# it already exists, which it does not
git -c core.logallrefupdates=false branch a master &&
git -c core.logallrefupdates=false branch one master &&
: >expect &&
git log -g --format="%gd %gs" a >actual &&
git log -g --format="%gd %gs" one >actual &&
test_cmp expect actual
'