Another thing I forgot to say in my previous message. The old
refs are kept in reflogs and also in refs/original/, so you will
not be creating new unreachables even if you rewrite many objects.
Something like this, perhaps?
git-filter-branch.sh | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/git-filter-branch.sh b/git-filter-branch.sh
index ebf05ca..8e44001 100755
--- a/git-filter-branch.sh
+++ b/git-filter-branch.sh
@@ -299,6 +299,12 @@ while read commit parents; do
die "msg filter failed: $filter_msg"
sh -c "$filter_commit" "git commit-tree" \
$(git write-tree) $parentstr < ../message > ../map/$commit
+
+ if test $(( $i % 512 )) = 0
+ then
+ git gc --auto
+ fi
+
done <../revs
# In case of a subdirectory filter, it is possible that a specified head
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html