Browse Source

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
Joey Hess 10 years ago
parent
commit
0ce768c4dd
1 changed files with 4 additions and 2 deletions
  1. 4 2
      git-remote-gcrypt

+ 4 - 2
git-remote-gcrypt

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