path: root/
diff options
authorJohannes Sixt <>2008-05-26 19:09:18 (GMT)
committerJunio C Hamano <>2008-05-28 05:27:30 (GMT)
commita17171b473e0073f73b429abdf348de92394d6a6 (patch)
tree06763053cddb6fbe439ce8e6c4b42b65184c4f14 /
parent049c1ad2d6a6f000ff0e31a28fbd9e511b01fd24 (diff)
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 <> Signed-off-by: Junio C Hamano <>
Diffstat (limited to '')
1 files changed, 1 insertions, 1 deletions
diff --git a/ b/
index ea59015..d846cd9 100755
--- a/
+++ b/
@@ -234,7 +234,7 @@ case "$filter_subdir" in
git rev-list --reverse --topo-order --default HEAD \
- --parents --full-history "$@" -- "$filter_subdir"
+ --parents "$@" -- "$filter_subdir"
esac > ../revs || die "Could not get the commits"
commits=$(wc -l <../revs | tr -d " ")