From c1c259e225cf39c7353c673ad2c7c84450d909c1 Mon Sep 17 00:00:00 2001 From: Jens Lehmann Date: Mon, 28 May 2012 21:46:58 +0200 Subject: [PATCH] submodules: print "registered for path" message only once Since 2cd9de3e (submodule add: always initialize .git/config entry) the message "Submodule '\$name' (\$url) registered for path '\$sm_path'" is printed every time cmd_init() is called, e.g. each time "git submodule update" is used with the --init option. This was not intended and leads to bogus output which can confuse users and build systems. Apart from that the $url variable was not set after the first run which did the actual initialization and only "()" was printed in subsequent runs where "($url)" was meant to inform the user about the upstream repo. Fix that by moving the say command in question into the if block where the url is initialized, restoring the behavior that was in place before the 2cd9de3e commit. While at it also remove the comment which still describes the logic used before 2cd9de3e and add a comment about how things work now. Reported-by: Nicolas Viennot and Sid Nair Reported-by: Heiko Voigt Signed-off-by: Jens Lehmann Signed-off-by: Junio C Hamano --- git-submodule.sh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/git-submodule.sh b/git-submodule.sh index 64a70d621..5c61ae2b4 100755 --- a/git-submodule.sh +++ b/git-submodule.sh @@ -396,8 +396,9 @@ cmd_init() module_list "$@" | while read mode sha1 stage sm_path do - # Skip already registered paths name=$(module_name "$sm_path") || exit + + # Copy url setting when it is not set yet if test -z "$(git config "submodule.$name.url")" then url=$(git config -f .gitmodules submodule."$name".url) @@ -412,6 +413,8 @@ cmd_init() esac git config submodule."$name".url "$url" || die "$(eval_gettext "Failed to register url for submodule path '\$sm_path'")" + + say "$(eval_gettext "Submodule '\$name' (\$url) registered for path '\$sm_path'")" fi # Copy "update" setting when it is not set yet @@ -420,8 +423,6 @@ cmd_init() test -n "$(git config submodule."$name".update)" || git config submodule."$name".update "$upd" || die "$(eval_gettext "Failed to register update mode for submodule path '\$sm_path'")" - - say "$(eval_gettext "Submodule '\$name' (\$url) registered for path '\$sm_path'")" done } -- 2.11.0