]> git.ipfire.org Git - thirdparty/git.git/commit
t6020: new test with interleaved lexicographic ordering of directories
authorElijah Newren <newren@gmail.com>
Thu, 27 Feb 2020 00:14:24 +0000 (00:14 +0000)
committerJunio C Hamano <gitster@pobox.com>
Thu, 27 Feb 2020 19:01:48 +0000 (11:01 -0800)
commit65bf820d0ee050ba6a0c8908ff1d5f58d7c7131e
treea805dd1af3499cea29d1cc5b50655a5c57e5bdc9
parent9f697ded88286804683ab2988abed23b4c63f530
t6020: new test with interleaved lexicographic ordering of directories

If a repository has two files:
    foo/bar/baz
    foo/bar-2/baz
then a simple lexicographic ordering of files and directories shows
    ...
    foo/bar
    foo/bar-2
    foo/bar/baz
    ...
and the appearance of foo/bar-2 between foo/bar and foo/bar/baz can trip
up some codepaths.  Add a test to catch such cases.

t6020 might be a slight misfit since this testcase does not test any
kind of file/directory conflict.  However, it is similar in spirit to
some tests (4-6) already in t6020 that check cases where a *file* sorted
between a directory and the files underneath that directory.  This
testcase differs in that now there is a *directory* that sorts in the
middle.

Although merge-recursive currently has no problems with this simple
testcase, I discovered that it's very possible to accidentally mess it
up.  Further, we have no other merge or cherry-pick or rebase testcases
in the entire testsuite that cover such a case, so I felt like it would
be a worthwhile addition to the testsuite.

Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t6020-merge-df.sh