</ol>\r
<p>The command refuses to process new mailboxes while <tt>.dotest</tt>\r
directory exists, so if you decide to start over from scratch,\r
-run <tt>rm -f .dotest</tt> before running the command with mailbox\r
+run <tt>rm -f -r .dotest</tt> before running the command with mailbox\r
names.</p>\r
</div>\r
<h2>SEE ALSO</h2>\r
</div>\r
<div id="footer">\r
<div id="footer-text">\r
-Last updated 07-Jan-2008 07:50:00 UTC\r
+Last updated 26-Feb-2008 09:16:45 UTC\r
</div>\r
</div>\r
</body>\r
The command refuses to process new mailboxes while `.dotest`
directory exists, so if you decide to start over from scratch,
-run `rm -f .dotest` before running the command with mailbox
+run `rm -f -r .dotest` before running the command with mailbox
names.
Prior to that, the $GIT_COMMIT environment variable will be set to contain\r
the id of the commit being rewritten. Also, GIT_AUTHOR_NAME,\r
GIT_AUTHOR_EMAIL, GIT_AUTHOR_DATE, GIT_COMMITTER_NAME, GIT_COMMITTER_EMAIL,\r
-and GIT_COMMITTER_DATE are set according to the current commit.</p>\r
+and GIT_COMMITTER_DATE are set according to the current commit. If any\r
+evaluation of <command> returns a non-zero exit status, the whole operation\r
+will be aborted.</p>\r
<p>A <em>map</em> function is available that takes an "original sha1 id" argument\r
and outputs a "rewritten sha1 id" if the commit has been already\r
rewritten, and "original sha1 id" otherwise; the <em>map</em> function can\r
<div class="listingblock">\r
<div class="content">\r
<pre><tt>git filter-branch --parent-filter \\r
- 'cat; test $GIT_COMMIT = <commit-id> && echo "-p <graft-id>"' HEAD</tt></pre>\r
+ 'test $GIT_COMMIT = <commit-id> && echo "-p <graft-id>" || cat' HEAD</tt></pre>\r
</div></div>\r
<p>or even simpler:</p>\r
<div class="listingblock">\r
committed a merge between P1 and P2, it will be propagated properly\r
and all children of the merge will become merge commits with P1,P2\r
as their parents instead of the merge commit.</p>\r
+<p>You can rewrite the commit log messages using <tt>--message-filter</tt>. For\r
+example, <tt>git-svn-id</tt> strings in a repository created by <tt>git-svn</tt> can\r
+be removed this way:</p>\r
+<div class="listingblock">\r
+<div class="content">\r
+<pre><tt>git filter-branch --message-filter '\r
+ sed -e "/^git-svn-id:/d"\r
+'</tt></pre>\r
+</div></div>\r
<p>To restrict rewriting to only part of the history, specify a revision\r
range in addition to the new branch name. The new branch name will\r
point to the top-most revision that a <em>git rev-list</em> of this range\r
</div>\r
<div id="footer">\r
<div id="footer-text">\r
-Last updated 01-Feb-2008 10:52:24 UTC\r
+Last updated 26-Feb-2008 09:16:45 UTC\r
</div>\r
</div>\r
</body>\r
Prior to that, the $GIT_COMMIT environment variable will be set to contain
the id of the commit being rewritten. Also, GIT_AUTHOR_NAME,
GIT_AUTHOR_EMAIL, GIT_AUTHOR_DATE, GIT_COMMITTER_NAME, GIT_COMMITTER_EMAIL,
-and GIT_COMMITTER_DATE are set according to the current commit.
+and GIT_COMMITTER_DATE are set according to the current commit. If any
+evaluation of <command> returns a non-zero exit status, the whole operation
+will be aborted.
A 'map' function is available that takes an "original sha1 id" argument
and outputs a "rewritten sha1 id" if the commit has been already
--------------------------------------------------------------------------
git filter-branch --parent-filter \
- 'cat; test $GIT_COMMIT = <commit-id> && echo "-p <graft-id>"' HEAD
+ 'test $GIT_COMMIT = <commit-id> && echo "-p <graft-id>" || cat' HEAD
--------------------------------------------------------------------------
or even simpler:
and all children of the merge will become merge commits with P1,P2
as their parents instead of the merge commit.
+You can rewrite the commit log messages using `--message-filter`. For
+example, `git-svn-id` strings in a repository created by `git-svn` can
+be removed this way:
+
+-------------------------------------------------------
+git filter-branch --message-filter '
+ sed -e "/^git-svn-id:/d"
+'
+-------------------------------------------------------
To restrict rewriting to only part of the history, specify a revision
range in addition to the new branch name. The new branch name will