From d8a3b76e6044689ebe4336abbcd21f677dbba31d Mon Sep 17 00:00:00 2001 From: Jan Pokorný Date: Fri, 3 Feb 2012 14:54:58 +0100 Subject: init.sh: handle git submodules better MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Jan Pokorný --- init.sh | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/init.sh b/init.sh index 4f2af2d..b7e709f 100755 --- a/init.sh +++ b/init.sh @@ -50,22 +50,19 @@ announce () { do_git_submodule () { # usage: $1=action ($1 passed from main), $2..$N=submodule(s) ret=0 - # TODO: pushd $GIT_ROOT + git_prefix=$(git rev-parse --show-prefix) for submodule in "${@:2}"; do announce "$1 $submodule (git submodule)" if [ "$1" == "get" ]; then - # TODO: avoid this workaround - if [ ! -f .gitmodules ]; then - submodule="$SUBMODULES_DIR/$submodule" - fi - git submodule update --init "$submodule" 2>&1 + pushd "$(git rev-parse --show-toplevel)" 2>/dev/null + git submodule update --init "${git_prefix}${submodule}" 2>&1 + popd 2>/dev/null else do_del "$submodule" fi ret=$? [ $ret -ne 0 ] && break done - # TODO: popd check_ret $ret } -- cgit