summaryrefslogtreecommitdiff
path: root/t/t7003-filter-branch.sh
diff options
context:
space:
mode:
authorPierre Habouzit <madcoder@debian.org>2008-10-31 09:12:21 (GMT)
committerJunio C Hamano <gitster@pobox.com>2009-01-11 01:35:58 (GMT)
commitd3240d935c4b844db71e4570eeedfac4cff73f78 (patch)
treec6ad63efa78ac0133564147be4958280c70b3bc8 /t/t7003-filter-branch.sh
parentc123b7c5fb596d93cd015645212c379fc3c381d5 (diff)
downloadgit-d3240d935c4b844db71e4570eeedfac4cff73f78.zip
git-d3240d935c4b844db71e4570eeedfac4cff73f78.tar.gz
git-d3240d935c4b844db71e4570eeedfac4cff73f78.tar.bz2
filter-branch: add git_commit_non_empty_tree and --prune-empty.
git_commit_non_empty_tree is added to the functions that can be run from commit filters. Its effect is to commit only commits actually touching the tree and that are not merge points either. The option --prune-empty is added. It defaults the commit-filter to 'git_commit_non_empty_tree "$@"', and can be used with any other combination of filters, except --commit-hook that must used 'git_commit_non_empty_tree "$@"' where one puts 'git commit-tree "$@"' usually to achieve the same result. Signed-off-by: Pierre Habouzit <madcoder@debian.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t7003-filter-branch.sh')
-rwxr-xr-xt/t7003-filter-branch.sh8
1 files changed, 8 insertions, 0 deletions
diff --git a/t/t7003-filter-branch.sh b/t/t7003-filter-branch.sh
index b0a9d7d..8537bf9 100755
--- a/t/t7003-filter-branch.sh
+++ b/t/t7003-filter-branch.sh
@@ -262,4 +262,12 @@ test_expect_success 'Tag name filtering allows slashes in tag names' '
test_cmp expect actual
'
+test_expect_success 'Prune empty commits' '
+ git rev-list HEAD > expect &&
+ make_commit to_remove &&
+ git filter-branch -f --index-filter "git update-index --remove to_remove" --prune-empty HEAD &&
+ git rev-list HEAD > actual &&
+ test_cmp expect actual
+'
+
test_done