Skip to content

Commit

Permalink
filter-branch documentation: some more touch-ups.
Browse files Browse the repository at this point in the history
- The map function used to fail, but no longer does (since 3520e1e.)
- Fix the "edge-graft" example.
- Show the same using .git/info/grafts.

Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Johannes Sixt authored and Junio C Hamano committed Jul 4, 2007
1 parent b5669a0 commit 32c37c1
Showing 1 changed file with 16 additions and 7 deletions.
23 changes: 16 additions & 7 deletions Documentation/git-filter-branch.txt
Original file line number Diff line number Diff line change
Expand Up @@ -58,8 +58,9 @@ and GIT_COMMITTER_DATE are set according to the current commit.

A 'map' function is available that takes an "original sha1 id" argument
and outputs a "rewritten sha1 id" if the commit has been already
rewritten, fails otherwise; the 'map' function can return several
ids on separate lines if your commit filter emitted multiple commits.
rewritten, and "original sha1 id" otherwise; the 'map' function can
return several ids on separate lines if your commit filter emitted
multiple commits.


OPTIONS
Expand Down Expand Up @@ -166,12 +167,13 @@ git filter-branch --index-filter 'git update-index --remove filename' newbranch
Now, you will get the rewritten history saved in the branch 'newbranch'
(your current branch is left untouched).

To "etch-graft" a commit to the revision history (set a commit to be
the parent of the current initial commit and propagate that):
To set a commit (which typically is at the tip of another
history) to be the parent of the current initial commit, in
order to paste the other history behind the current history:

----------------------------------------------------------------------
git filter-branch --parent-filter sed\ 's/^$/-p <graft-id>/' newbranch
----------------------------------------------------------------------
------------------------------------------------------------------------
git filter-branch --parent-filter 'sed "s/^\$/-p <graft-id>/"' newbranch
------------------------------------------------------------------------

(if the parent string is empty - therefore we are dealing with the
initial commit - add graftcommit as a parent). Note that this assumes
Expand All @@ -183,6 +185,13 @@ git filter-branch --parent-filter \
'cat; test $GIT_COMMIT = <commit-id> && echo "-p <graft-id>"' newbranch
-------------------------------------------------------------------------------

or even simpler:

-----------------------------------------------
echo "$commit-id $graft-id" >> .git/info/grafts
git filter-branch newbranch $graft-id..
-----------------------------------------------

To remove commits authored by "Darl McBribe" from the history:

------------------------------------------------------------------------------
Expand Down

0 comments on commit 32c37c1

Please sign in to comment.