Re: [PATCH] Add git-filter-branch
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Jun 6, 2007, 17:59 UTC
- Message-ID
- <Pine.LNX.4.64.0706061854330.4046@racer.site>
- In-Reply-To
- <4666D143.32BC9693@eudaptics.com>
Hi,
On Wed, 6 Jun 2007, Johannes Sixt wrote:
Show 15 quoted lines
> Johannes Schindelin wrote:
> > Of course, it would be even more so if the target branch name was
> > "filtered", overrideable by "--target <name>".
>
> My plan for this is:
>
> 1. run the rev-list args ("$@") through rev-parse
> 2. pick only the positive ones (/^[a-z0-9]{40}$/)
> 3. filter show-ref against the result of 2.
> 4. foreach ref in the result of 3. install a refs/rewritten/$ref
> with the mapped id if and only if the mapped id is different
> from the original id of $ref.
>
> Then you can, for example, 'git filter-branch --all' to rewrite all
> branches.That sounds really sensible. For (2), I suggest "git-rev-parse --symbolic", though. And maybe you want to make sure that there were no invalid branch names, i.e. "git-filter-branch next~2". (Otherwise, you would try to create refs/filtered/next~2 after filtering all commits.)
Ciao, Dscho