On Wed, Oct 22, 2008 at 03:14:16PM -0400, Jeff King wrote: > > git-submodule.sh uses grep "-e" to look for two patterns and I suspect > > older Solaris would have the same issue. > > Yes, that code will break on Solaris. Most of my portability fixes have > been in direct response to tests, so I guess we are not testing > git-submodule very well. And here's a patch. Though I believe this is the last "grep -e", I wonder if it wouldn't have been wiser to simply force people on such platforms to use GNU grep (I already have to use GNU tools to build, and bash to run the scripts). -- >8 -- submodule: fix some non-portable grep invocations Not all greps support "-e", but in this case we can easily convert it to a single extended regex. Signed-off-by: Jeff King <peff@xxxxxxxx> --- Passes the test scripts, but I'm not sure they are exercising this code, anyway, since it passed on Solaris. Please double-check my conversion. git-submodule.sh | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/git-submodule.sh b/git-submodule.sh index 65178ae..b63e5c3 100755 --- a/git-submodule.sh +++ b/git-submodule.sh @@ -424,7 +424,7 @@ cmd_summary() { cd_to_toplevel # Get modified modules cared by user modules=$(git diff-index $cached --raw $head -- "$@" | - grep -e '^:160000' -e '^:[0-7]* 160000' | + egrep '^:([0-7]* )?160000' | while read mod_src mod_dst sha1_src sha1_dst status name do # Always show modules deleted or type-changed (blob<->module) @@ -438,7 +438,7 @@ cmd_summary() { test -z "$modules" && return git diff-index $cached --raw $head -- $modules | - grep -e '^:160000' -e '^:[0-7]* 160000' | + egrep '^:([0-7]* )?160000' | cut -c2- | while read mod_src mod_dst sha1_src sha1_dst status name do -- 1.6.0.2.825.g6d19d -- 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