Code

Revert "filter-branch: subdirectory filter needs --full-history"
authorJohannes Sixt <johannes.sixt@telecom.at>
Mon, 26 May 2008 19:09:18 +0000 (21:09 +0200)
committerJunio C Hamano <gitster@pobox.com>
Wed, 28 May 2008 05:27:30 +0000 (22:27 -0700)
commita17171b473e0073f73b429abdf348de92394d6a6
tree06763053cddb6fbe439ce8e6c4b42b65184c4f14
parent049c1ad2d6a6f000ff0e31a28fbd9e511b01fd24
Revert "filter-branch: subdirectory filter needs --full-history"

This reverts commit cfabd6eee1745cfec58cfcb794ce8847e43b888a. I had
implemented it without understanding what --full-history does. Consider
this history:

    C--M--N
   /  /  /
  A--B  /
   \   /
    D-/

where B and C modify a path, X, in the same way so that the result is
identical, and D does not modify it at all. With the path limiter X and
without --full-history this is simplified to

   A--B

i.e. only one of the paths via B or C is chosen. I had assumed that
--full-history would keep both paths like this

    C--M
   /  /
  A--B

removing the path via D; but in fact it keeps the entire history.

Currently, git does not have the capability to simplify to this
intermediary case. However, the other extreme to keep the entire history
is not wanted either in usual cases. I think we can expect that histories
like the above are rare, and in the usual cases we want a simplified
history. So let's remove --full-history again.

(Concerning t7003, subsequent tests depend on what the test case sets up,
so we can't just back out the entire test case.)

Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-filter-branch.sh
t/t7003-filter-branch.sh