# [PATCH] filter-branch documentation: non-zero exit status in command abort the filter

2 messages from 2008-02-26 to 2008-02-26. Participants: Caio Marcelo de Oliveira Filho, Johannes Schindelin.
Thread: https://gitlist.dev/t/12323

## Caio Marcelo de Oliveira Filho, 2008-02-26 02:14

Subject: [PATCH] filter-branch documentation: non-zero exit status in command abort the filter
Message-ID: <1203992071-957-1-git-send-email-cmarcelo@gmail.com>
URL: https://gitlist.dev/e/1203992071-957-1-git-send-email-cmarcelo%40gmail.com

```
Since commit 8c1ce0f46b85d40f215084eed7313896300082df filter-branch fails
when a <command> has a non-zero exit status. This commit makes it clear
in the documentation and also fixes the parent-filter example, that was
incorrectly returning non-zero when the commit being tested wasn't the
one to be rewritten.

Signed-off-by: Caio Marcelo de Oliveira Filho <cmarcelo@gmail.com>
---
 Documentation/git-filter-branch.txt |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/Documentation/git-filter-branch.txt b/Documentation/git-filter-branch.txt
index e22dfa5..9cb01ca 100644
--- a/Documentation/git-filter-branch.txt
+++ b/Documentation/git-filter-branch.txt
@@ -56,7 +56,9 @@ notable exception of the commit filter, for technical reasons).
 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
@@ -195,10 +197,10 @@ the initial commit - add graftcommit as a parent).  Note that this assumes
 history with a single root (that is, no merge without common ancestors
 happened).  If this is not the case, use:
 
---------------------------------------------------------------------------
+----------------------------------------------------------------------------
 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:
 
-- 
1.5.4.3.221.g350ae

```

## Johannes Schindelin, 2008-02-26 11:18

Subject: Re: [PATCH] filter-branch documentation: non-zero exit status in command abort the filter
Message-ID: <alpine.LSU.1.00.0802261116570.17164@racer.site>
URL: https://gitlist.dev/e/alpine.LSU.1.00.0802261116570.17164%40racer.site
In-Reply-To: <1203992071-957-1-git-send-email-cmarcelo@gmail.com>

```
Hi,

On Mon, 25 Feb 2008, Caio Marcelo de Oliveira Filho wrote:

> Since commit 8c1ce0f46b85d40f215084eed7313896300082df filter-branch 
> fails when a <command> has a non-zero exit status. This commit makes it 
> clear in the documentation and also fixes the parent-filter example, 
> that was incorrectly returning non-zero when the commit being tested 
> wasn't the one to be rewritten.

I thought that we had that already in the man page, but you're right: we 
did not.

> ---------------------------------------------------------------------------
> +----------------------------------------------------------------------------
>  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
> +----------------------------------------------------------------------------

Yes, makes sense.

Ciao,
Dscho

```
