diff options
author | Junio C Hamano <junkio@cox.net> | 2006-07-12 23:00:46 -0700 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-07-12 23:00:46 -0700 |
commit | a72f9373c01f9bbebd14af7cec6ff0de4c27c578 (patch) | |
tree | d75072db04dc523010c087a3e8692696df9eb2e8 | |
parent | 869659a6a1010ea0943329113a1de41c38bd4a00 (diff) | |
download | git-a72f9373c01f9bbebd14af7cec6ff0de4c27c578.tar.gz git-a72f9373c01f9bbebd14af7cec6ff0de4c27c578.tar.xz |
git-repack: avoid redirecting stderr into git-pack-objects
We are trying to catch error condition of git-rev-list and cause
the downstream pack-objects to barf, but if you run rev-list
with anything that mucks with its stderr (such as GIT_TRACE),
any stderr output would cause the pipeline to fail.
[jc: originally from Matthias Lederhofer, with a reworded error message.]
Signed-off-by: Junio C Hamano <junkio@cox.net>
-rwxr-xr-x | git-repack.sh | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/git-repack.sh b/git-repack.sh index 640ad8d90..9da92fb06 100755 --- a/git-repack.sh +++ b/git-repack.sh @@ -43,7 +43,9 @@ case ",$all_into_one," in ;; esac pack_objects="$pack_objects $local $quiet $no_reuse_delta$extra" -name=$(git-rev-list --objects --all $rev_list 2>&1 | +name=$( { git-rev-list --objects --all $rev_list || + echo "git-rev-list died with exit code $?" + } | git-pack-objects --non-empty $pack_objects .tmp-pack) || exit 1 if [ -z "$name" ]; then |