Skip to content
Snippets Groups Projects
Commit 33f072f8 authored by Andreas Köhler's avatar Andreas Köhler Committed by Junio C Hamano
Browse files

submodule sync: Update "submodule.<name>.url" for empty directories


If a submodule directory has not been filled by "git submodule update"
yet, then "git submodule sync" must still update the super-project's
configuration for submodule.<name>.url.

This situation occurs when switching between branches with a module from
different urls and other branches without the submodule.

Signed-off-by: default avatarAndreas Köhler <andi5.py@gmx.net>
Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
parent 7c6eafa3
No related branches found
No related tags found
No related merge requests found
...@@ -836,11 +836,12 @@ cmd_sync() ...@@ -836,11 +836,12 @@ cmd_sync()
;; ;;
esac esac
say "Synchronizing submodule url for '$name'"
git config submodule."$name".url "$url"
if test -e "$path"/.git if test -e "$path"/.git
then then
( (
say "Synchronizing submodule url for '$name'"
git config submodule."$name".url "$url"
clear_local_git_env clear_local_git_env
cd "$path" cd "$path"
remote=$(get_default_remote) remote=$(get_default_remote)
......
...@@ -23,7 +23,9 @@ test_expect_success setup ' ...@@ -23,7 +23,9 @@ test_expect_success setup '
git commit -m "submodule" git commit -m "submodule"
) && ) &&
git clone super super-clone && git clone super super-clone &&
(cd super-clone && git submodule update --init) (cd super-clone && git submodule update --init) &&
git clone super empty-clone &&
(cd empty-clone && git submodule init)
' '
test_expect_success 'change submodule' ' test_expect_success 'change submodule' '
...@@ -64,4 +66,12 @@ test_expect_success '"git submodule sync" should update submodule URLs' ' ...@@ -64,4 +66,12 @@ test_expect_success '"git submodule sync" should update submodule URLs' '
) )
' '
test_expect_success '"git submodule sync" should update submodule URLs if not yet cloned' '
(cd empty-clone &&
git pull &&
git submodule sync &&
test -d "$(git config submodule.submodule.url)"
)
'
test_done test_done
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment