Re: efficient way to filter several branches with common history?
- From
Johannes Sixt <j.sixt@eudaptics.com>
- Date
- Jul 4, 2007, 08:37 UTC
- Message-ID
- <468B5C4B.26F5E90B@eudaptics.com>
- In-Reply-To
- <652B0F85-D0E4-4BF0-8DFC-212B6C0650AF@zib.de>
Steffen Prohaska wrote:
Show 7 quoted lines
> > Is there an efficient way to filter several branches at once > through git-filter-branch? Often several branches have a lot > of common history. Therefore, I suspect it would be much more > efficient to filter them with one call to git-filter-branch. > For example how can I efficiently filter all origin/* branches > to filtered/* branches?
That feature is not yet implemented.
In the meantime do it this way:
Make an octopus merge of the branches onto a new branch. (If you have more than a dozen or so, you better make a hierarchy of octopusses.) You don't need to resolve conflicts (you are not interested in the merge result), or use -s ours to avoid them in the first place. Then filter that new branch. Then create new refs at the rewritten commits:
$ git update-ref refs/filtered/b1 $id-of-rewritten-origin/b1 $ ...
Use gitk to find the $ids-of-rewritten-origin/*
-- Hannes