Johannes Schindelin <Johannes.Schindelin@xxxxxx> writes: > On Fri, 4 Dec 2009, Junio C Hamano wrote: > >> Michael Haggerty <mhagger@xxxxxxxxxxxx> writes: >> >> > diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh >> > index 0bd3bf7..539413d 100755 >> > --- a/git-rebase--interactive.sh >> > +++ b/git-rebase--interactive.sh >> > @@ -302,7 +302,7 @@ nth_string () { >> > >> > make_squash_message () { >> > if test -f "$SQUASH_MSG"; then >> > - COUNT=$(($(sed -n "s/^# This is [^0-9]*\([1-9][0-9]*\).*/\1/p" \ >> > + COUNT=$(($(sed -n "s/^# Th[^0-9]*\([1-9][0-9]*\)\(th\|st\|nd\|rd\) commit message.*:/\1/p" \ > ... > IIRC "|" was not correctly handled by BSD sed (used e.g. in MacOSX). You are right; we actually have seen and fixed a similar breakage. For example, "git log --all-match --grep=BRE --grep=ERE" finds: commit 1883a0d3b7ad7c9de1ac790bda6f1a6181237439 Author: Junio C Hamano <gitster@xxxxxxxxx> Date: Fri Sep 19 23:52:49 2008 -0700 diff: use extended regexp to find hunk headers Using ERE elements such as "|" (alternation) by backquoting in BRE is a GNU extension and should not be done in portable programs. and "sed" is defined to take BRE. Tentatively I'd queue this on top of 3/3 for eventual squashing. Thanks -- >8 -- From: Junio C Hamano <gitster@xxxxxxxxx> Date: Sat, 5 Dec 2009 10:42:44 -0800 Subject: [PATCH] [squash to Add a command "fix"] Avoid "\(alternatives\|choices\)" in sed script --- git-rebase--interactive.sh | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh index 539413d..c30209e 100755 --- a/git-rebase--interactive.sh +++ b/git-rebase--interactive.sh @@ -302,7 +302,7 @@ nth_string () { make_squash_message () { if test -f "$SQUASH_MSG"; then - COUNT=$(($(sed -n "s/^# Th[^0-9]*\([1-9][0-9]*\)\(th\|st\|nd\|rd\) commit message.*:/\1/p" \ + COUNT=$(($(sed -n "s/^# Th[^0-9]*\([1-9][0-9]*\)[tsnr][htd] commit message.*:$/\1/p" \ < "$SQUASH_MSG" | sed -ne '$p')+1)) echo "# This is a combination of $COUNT commits." sed -e 1d -e '2,/^./{ -- 1.6.6.rc1.31.g1a56b -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html