Browse Source

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>
maint
Thomas Rast 17 years ago committed by Junio C Hamano
parent
commit
6e84b71237
  1. 10
      t/t7003-filter-branch.sh

10
t/t7003-filter-branch.sh

@ -96,13 +96,17 @@ test_expect_success 'filter subdirectory only' ' @@ -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' '

Loading…
Cancel
Save