summaryrefslogtreecommitdiff
path: root/git-rebase.sh
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2008-05-14 00:01:22 -0400
committerJunio C Hamano <gitster@pobox.com>2008-05-13 21:44:48 -0700
commitbbf08124e0a87658a76b53a05d67227fa3b4e7b9 (patch)
treee3eb0c8faee5837f0f0eefb8f831c068f67a2705 /git-rebase.sh
parent64c0d71ce91696dfe5beb4b51e3233e56c857290 (diff)
downloadgit-bbf08124e0a87658a76b53a05d67227fa3b4e7b9.tar.gz
fix bsd shell negation
On some shells (notably /bin/sh on FreeBSD 6.1), the construct foo && ! bar | baz is true if foo && baz whereas for most other shells (such as bash) is true if foo && ! baz We can work around this by specifying foo && ! (bar | baz) which works everywhere. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'git-rebase.sh')
-rwxr-xr-xgit-rebase.sh2
1 files changed, 1 insertions, 1 deletions
diff --git a/git-rebase.sh b/git-rebase.sh
index 9b13b833cb..fbb0f288b3 100755
--- a/git-rebase.sh
+++ b/git-rebase.sh
@@ -353,7 +353,7 @@ orig_head=$branch
mb=$(git merge-base "$onto" "$branch")
if test "$upstream" = "$onto" && test "$mb" = "$onto" &&
# linear history?
- ! git rev-list --parents "$onto".."$branch" | grep " .* " > /dev/null
+ ! (git rev-list --parents "$onto".."$branch" | grep " .* ") > /dev/null
then
# Lazily switch to the target branch if needed...
test -z "$switch_to" || git checkout "$switch_to"