Skip to content

Commit

Permalink
submodules: print "registered for path" message only once
Browse files Browse the repository at this point in the history
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 <nicolas@viennot.com>
Reported-by: Heiko Voigt <hvoigt@hvoigt.net>
Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Jens Lehmann authored and Junio C Hamano committed May 29, 2012
1 parent befc5ed commit c1c259e
Showing 1 changed file with 4 additions and 3 deletions.
7 changes: 4 additions & 3 deletions git-submodule.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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
Expand All @@ -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
}

Expand Down

0 comments on commit c1c259e

Please sign in to comment.