t7003: test ref rewriting explicitly
authorJeff King <peff@peff.net>
Wed, 10 Mar 2021 17:07:19 +0000 (12:07 -0500)
committerJunio C Hamano <gitster@pobox.com>
Wed, 10 Mar 2021 22:14:19 +0000 (14:14 -0800)
commit6d875d19fd7346f4a6dc47d2a1363db91e9643d5
treee15c518d68f378e2581c45d43a493f0460931425
parent94f6e3e283f2adfc518b39cfc39291f1c2832ad0
t7003: test ref rewriting explicitly

After it has rewritten all of the commits, filter-branch will then
rewrite each of the input refs based on the resulting map of old/new
commits. But we don't have any explicit test coverage of this code.
Let's make sure we are covering each of those cases:

  - deleting a ref when all of its commits were pruned

  - rewriting a ref based on the mapping (this happens throughout the
    script, but let's make sure we generate the correct messages)

  - rewriting a ref whose tip was excluded, in which case we rewrite to
    the nearest ancestor. Note in this case that we still insist that no
    "warning" line is present (even though it looks like we'd trigger
    the "... was rewritten into multiple commits" one). See the next
    commit for more details.

Note these all pass currently, but the latter two will fail when run
with GIT_TEST_DEFAULT_HASH=sha256.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t7003-filter-branch.sh