Skip to content

Commit

Permalink
submodule sync: Update "submodule.<name>.url" for empty directories
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Andreas Köhler authored and Junio C Hamano committed Oct 14, 2010
1 parent 7c6eafa commit 33f072f
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 3 deletions.
5 changes: 3 additions & 2 deletions git-submodule.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
12 changes: 11 additions & 1 deletion t/t7403-submodule-sync.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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' '
Expand Down Expand Up @@ -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

0 comments on commit 33f072f

Please sign in to comment.