summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 7c6eafa)
raw | patch | inline | side by side (parent: 7c6eafa)
author | Andreas Köhler <andi5.py@gmx.net> | |
Fri, 8 Oct 2010 01:07:48 +0000 (03:07 +0200) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Thu, 14 Oct 2010 01:31:45 +0000 (18:31 -0700) |
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>
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>
git-submodule.sh | patch | blob | history | |
t/t7403-submodule-sync.sh | patch | blob | history |
diff --git a/git-submodule.sh b/git-submodule.sh
index 9ebbab798d21147fc019b6183cad0c462c9dafca..c291eed59cca35d4b08285133acaca29bd80d372 100755 (executable)
--- a/git-submodule.sh
+++ b/git-submodule.sh
;;
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)
index 02522f9627eea8166b2d4709ef3519b23c8dd3d5..e5b19538b0192e5ab5f9081b0c10ac0dc8497cb6 100755 (executable)
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' '
)
'
+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