How to use filter-branch with --state-branch?

Recent versions of git filter-branch command introduced the --state-branch 
BTW I can't find any info about how this can be actually used.

We have this repository on github:

When someone pushes to that repo, we clone it and execute git filter-branch 
--subdirectory-filter concrete to extract the concrete directory, and we 
push the result to
(including all the branches and tags)

The script at the moment is this one:

I tried to use the --state-branch option on a local mirror, so that we 
could do an incremental filtering. Here's the script:

# Executed just one time
git clone --no-checkout --mirror \ work
cd work
git filter-branch \
   --subdirectory-filter concrete \
   --tag-name-filter cat \
   --prune-empty \
   --state-branch FILTERBRANCH_STATE \
   -- --all
# Executed every time the repo is updated
git remote update --prune
git filter-branch \
   --subdirectory-filter concrete \
   --tag-name-filter cat \
   --prune-empty \
   --state-branch FILTERBRANCH_STATE \
   -- --all

The first filter-branch call required 7168 steps, so did the second call...
I also tried without the --prune option of remote update (I had to add 
--force to the second filter-branch), but nothing changed.

Any hint about how we can have filter-branch work in an incremental way?

You received this message because you are subscribed to the Google Groups "Git 
for human beings" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
For more options, visit

Reply via email to