Code

filter-branch: Big syntax change; support rewriting multiple refs
authorJohannes Schindelin <Johannes.Schindelin@gmx.de>
Mon, 23 Jul 2007 17:34:13 +0000 (18:34 +0100)
committerJunio C Hamano <gitster@pobox.com>
Tue, 24 Jul 2007 06:15:09 +0000 (23:15 -0700)
commitdfd05e38f07f76505158399cc433b0b1870a769a
treed2daafb585a03a6f988b4082e55941453c49b1b8
parent3b38ec16d51a84bb5d4ef349f441de5f7ecd54f2
filter-branch: Big syntax change; support rewriting multiple refs

We used to take the first non-option argument as the name for the new
branch.  This syntax is not extensible to support rewriting more than just
HEAD.

Instead, we now have the following syntax:

git filter-branch [<filter options>...] [<rev-list options>]

All positive refs given in <rev-list options> are rewritten.  Yes,
in-place.  If a ref was changed, the original head is stored in
refs/original/$ref now, for your inspecting pleasure, in addition to the
reflogs (since it is easier to inspect "git show-ref | grep original" than
to inspect all the reflogs).

This commit also adds the --force option to remove .git-rewrite/ and all
refs from refs/original/ before filtering.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/git-filter-branch.txt
git-filter-branch.sh
t/t7003-filter-branch.sh