[PATCH] Minor portability patch to git-submodule
- From
- Andy Dougherty <doughera@lafayette.edu>
- Date
- Dec 17, 2007, 21:41 UTC
- Message-ID
- <Pine.LNX.4.64.0712171639420.24957@fractal.phys.lafayette.edu>
While trying git out on Solaris 8, I needed the following patch. The 'grep' command on Solaris doesn't understand the -e option, though egrep does.
More mysterious is the printf patch. Without it, the sed command didn't match anything.
--- git-1.5.4.rc0/git-submodule.sh Wed Dec 12 21:29:16 2007 +++ git-andy/git-submodule.sh Mon Dec 17 14:30:46 2007
@@ -74,7 +74,7 @@ module_name() { # Do we have "submodule.<something>.path = $1" defined in .gitmodules file? - re=$(printf '%s' "$1" | sed -e 's/[].[^$\\*]/\\&/g') + re=$(printf '%s\n' "$1" | sed -e 's/[].[^$\\*]/\\&/g') name=$( GIT_CONFIG=.gitmodules \ git config --get-regexp '^submodule\..*\.path$' | sed -n -e 's|^submodule\.\(.*\)\.path '"$re"'$|\1|p' ) @@ -176,7 +176,7 @@ # modules_init() { - git ls-files --stage -- "$@" | grep -e '^160000 ' | + git ls-files --stage -- "$@" | egrep -e '^160000 ' | while read mode sha1 stage path do # Skip already registered paths @@ -209,7 +209,7 @@ # modules_update() { - git ls-files --stage -- "$@" | grep -e '^160000 ' | + git ls-files --stage -- "$@" | egrep -e '^160000 ' | while read mode sha1 stage path do name=$(module_name "$path") || exit @@ -268,7 +268,7 @@ # modules_list() { - git ls-files --stage -- "$@" | grep -e '^160000 ' | + git ls-files --stage -- "$@" | egrep -e '^160000 ' | while read mode sha1 stage path do name=$(module_name "$path") || exit
--
Andy Dougherty doughera@lafayette.edu