summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2018-04-09 23:25:44 (GMT)
committerJunio C Hamano <gitster@pobox.com>2018-04-09 23:25:44 (GMT)
commitcb3e97dae806d66ea1859c48b9936d5bfbac9c09 (patch)
tree3d3da6c428f86dc03e8414f0ab25287ffe8dd2bb
parentcac5351363c5713248b8494e1e58e282c0a5bde7 (diff)
parent0a0eb2e585788567094248652fc20450a0db642b (diff)
downloadgit-cb3e97dae806d66ea1859c48b9936d5bfbac9c09.zip
git-cb3e97dae806d66ea1859c48b9936d5bfbac9c09.tar.gz
git-cb3e97dae806d66ea1859c48b9936d5bfbac9c09.tar.bz2
Merge branch 'ml/filter-branch-no-op-error'
"git filter-branch" learned to use a different exit code to allow the callers to tell the case where there was no new commits to rewrite from other error cases. * ml/filter-branch-no-op-error: filter-branch: return 2 when nothing to rewrite
-rw-r--r--Documentation/git-filter-branch.txt8
-rwxr-xr-xgit-filter-branch.sh2
2 files changed, 9 insertions, 1 deletions
diff --git a/Documentation/git-filter-branch.txt b/Documentation/git-filter-branch.txt
index 3a52e4d..b634043 100644
--- a/Documentation/git-filter-branch.txt
+++ b/Documentation/git-filter-branch.txt
@@ -222,6 +222,14 @@ this purpose, they are instead rewritten to point at the nearest ancestor that
was not excluded.
+EXIT STATUS
+-----------
+
+On success, the exit status is `0`. If the filter can't find any commits to
+rewrite, the exit status is `2`. On any other error, the exit status may be
+any other non-zero value.
+
+
Examples
--------
diff --git a/git-filter-branch.sh b/git-filter-branch.sh
index 98c76ec..2587a01 100755
--- a/git-filter-branch.sh
+++ b/git-filter-branch.sh
@@ -310,7 +310,7 @@ git rev-list --reverse --topo-order --default HEAD \
die "Could not get the commits"
commits=$(wc -l <../revs | tr -d " ")
-test $commits -eq 0 && die "Found nothing to rewrite"
+test $commits -eq 0 && die_with_status 2 "Found nothing to rewrite"
# Rewrite the commits
report_progress ()