filter-branch: Extend test to show rewriting bug

This extends the --subdirectory-filter test in t7003 to demonstrate a
rewriting bug: when rewriting two refs A and B such that B is an
ancestor of A, it fails to rewrite B.

The underlying issue is that the rev-list invocation at
git-filter-branch.sh:332 more or less boils down to

  git rev-list B --boundary ^A

which outputs nothing because B is an ancestor of A.

Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Thomas Rast 2008-08-12 10:45:57 +02:00 committed by Junio C Hamano
parent 04c6e9e9ca
commit 6e84b71237

View File

@ -96,13 +96,17 @@ test_expect_success 'filter subdirectory only' '
test_tick &&
git commit -m "again not subdir" &&
git branch sub &&
git-filter-branch -f --subdirectory-filter subdir refs/heads/sub
git branch sub-earlier HEAD~2 &&
git-filter-branch -f --subdirectory-filter subdir \
refs/heads/sub refs/heads/sub-earlier
'
test_expect_success 'subdirectory filter result looks okay' '
test_expect_failure 'subdirectory filter result looks okay' '
test 2 = $(git rev-list sub | wc -l) &&
git show sub:new &&
test_must_fail git show sub:subdir
test_must_fail git show sub:subdir &&
git show sub-earlier:new &&
test_must_fail git show sub-earlier:subdir
'
test_expect_success 'more setup' '