fix on OSX

set -e causes the xecho to not run if the xgrep fails. At least with OSX's
/bin/sh, which is:

GNU bash, version 3.2.51(1)-release (x86_64-apple-darwin13)

This didn't happen on Linux with:

GNU bash, version 4.3.11(1)-release (x86_64-pc-linux-gnu)

Possibly a bug in bash, or an OSX-specific bug. However, disabling set -e
in the subshell seems a good idea anyway.

fixes https://github.com/blake2-ppc/git-remote-gcrypt/issues/15
This commit is contained in:
Joey Hess 2014-05-19 18:20:51 -04:00
parent 8b619df24a
commit 0ce768c4dd

View file

@ -176,8 +176,10 @@ update_tree()
{
local tab_=" "
# $2 is a filename from the repo format
(git ls-tree "$1" | xgrep -v -E '\b'"$2"'$';
xecho "100644 blob $3$tab_$2") | git mktree
(set +e;
git ls-tree "$1" | xgrep -v -E '\b'"$2"'$';
xecho "100644 blob $3$tab_$2"
) | git mktree
}
# Put giturl $1, file $2