Skip to content

Commit c1c259e

Browse files
jlehmanngitster
authored andcommitted
submodules: print "registered for path" message only once
Since 2cd9de3 (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 2cd9de3 commit. While at it also remove the comment which still describes the logic used before 2cd9de3 and add a comment about how things work now. Reported-by: Nicolas Viennot and Sid Nair <[email protected]> Reported-by: Heiko Voigt <[email protected]> Signed-off-by: Jens Lehmann <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent befc5ed commit c1c259e

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

git-submodule.sh

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -396,8 +396,9 @@ cmd_init()
396396
module_list "$@" |
397397
while read mode sha1 stage sm_path
398398
do
399-
# Skip already registered paths
400399
name=$(module_name "$sm_path") || exit
400+
401+
# Copy url setting when it is not set yet
401402
if test -z "$(git config "submodule.$name.url")"
402403
then
403404
url=$(git config -f .gitmodules submodule."$name".url)
@@ -412,6 +413,8 @@ cmd_init()
412413
esac
413414
git config submodule."$name".url "$url" ||
414415
die "$(eval_gettext "Failed to register url for submodule path '\$sm_path'")"
416+
417+
say "$(eval_gettext "Submodule '\$name' (\$url) registered for path '\$sm_path'")"
415418
fi
416419

417420
# Copy "update" setting when it is not set yet
@@ -420,8 +423,6 @@ cmd_init()
420423
test -n "$(git config submodule."$name".update)" ||
421424
git config submodule."$name".update "$upd" ||
422425
die "$(eval_gettext "Failed to register update mode for submodule path '\$sm_path'")"
423-
424-
say "$(eval_gettext "Submodule '\$name' (\$url) registered for path '\$sm_path'")"
425426
done
426427
}
427428

0 commit comments

Comments
 (0)