diff options
author | John Keeping <john@keeping.me.uk> | 2013-06-16 15:18:18 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2013-06-17 13:30:01 -0700 |
commit | 091a6eb0feed820a43663ca63dc2bc0bb247bbae (patch) | |
tree | b4a6a61b74de57b56288d17b3613193a616c06db /t/t7406-submodule-update.sh | |
parent | 12b9d32790b40bf3ea49134095619700191abf1f (diff) | |
download | git-091a6eb0feed820a43663ca63dc2bc0bb247bbae.tar.gz |
submodule: drop the top-level requirement
Use the new rev-parse --prefix option to process all paths given to the
submodule command, dropping the requirement that it be run from the
top-level of the repository.
Since the interpretation of a relative submodule URL depends on whether
or not "remote.origin.url" is configured, explicitly block relative URLs
in "git submodule add" when not at the top level of the working tree.
Signed-off-by: John Keeping <john@keeping.me.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t7406-submodule-update.sh')
-rwxr-xr-x | t/t7406-submodule-update.sh | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/t/t7406-submodule-update.sh b/t/t7406-submodule-update.sh index a4ffea0dbe..cdb0538392 100755 --- a/t/t7406-submodule-update.sh +++ b/t/t7406-submodule-update.sh @@ -80,6 +80,21 @@ test_expect_success 'submodule update detaching the HEAD ' ' ) ' +test_expect_success 'submodule update from subdirectory' ' + (cd super/submodule && + git reset --hard HEAD~1 + ) && + mkdir super/sub && + (cd super/sub && + (cd ../submodule && + compare_head + ) && + git submodule update ../submodule && + cd ../submodule && + ! compare_head + ) +' + apos="'"; test_expect_success 'submodule update does not fetch already present commits' ' (cd submodule && |