When the map function didn't find the rewritten commit of the passed in original id, it printed the original id, but it still fell through to the 'cat', which failed with an error message. Signed-off-by: Johannes Sixt <johannes.sixt@xxxxxxxxxx> --- Is the sequence of && and || ok, or do you prefer if-then-else-fi? -- Hannes git-filter-branch.sh | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) diff --git a/git-filter-branch.sh b/git-filter-branch.sh index 22fb5bf..ff1cbcf 100644 --- a/git-filter-branch.sh +++ b/git-filter-branch.sh @@ -16,8 +16,9 @@ USAGE="git-filter-branch [-d TEMPDIR] [FILTERS] DESTBRANCH [REV-RANGE]" map() { # if it was not rewritten, take the original - test -r "$workdir/../map/$1" || echo "$1" - cat "$workdir/../map/$1" + test -r "$workdir/../map/$1" && + cat "$workdir/../map/$1" || + echo "$1" } # When piped a commit, output a script to set the ident of either -- 1.5.3.rc0.5.g7cd9 - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html