From: Johannes Sixt Date: Wed, 04 Jul 2007 08:37:31 GMT Subject: Re: efficient way to filter several branches with common history? Message-ID: <468B5C4B.26F5E90B@eudaptics.com> In-Reply-To: <652B0F85-D0E4-4BF0-8DFC-212B6C0650AF@zib.de> Steffen Prohaska wrote: > > 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