mirror of
https://github.com/git/git
synced 2024-08-28 12:09:19 +00:00
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: Andreas Köhler <andi5.py@gmx.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
7c6eafa35a
commit
33f072f891
|
@ -836,11 +836,12 @@ cmd_sync()
|
|||
;;
|
||||
esac
|
||||
|
||||
say "Synchronizing submodule url for '$name'"
|
||||
git config submodule."$name".url "$url"
|
||||
|
||||
if test -e "$path"/.git
|
||||
then
|
||||
(
|
||||
say "Synchronizing submodule url for '$name'"
|
||||
git config submodule."$name".url "$url"
|
||||
clear_local_git_env
|
||||
cd "$path"
|
||||
remote=$(get_default_remote)
|
||||
|
|
|
@ -23,7 +23,9 @@ test_expect_success setup '
|
|||
git commit -m "submodule"
|
||||
) &&
|
||||
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' '
|
||||
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue