I've a submodule located in a subdirectory
({git_rep}/home/{directory}/{submodule}), and I wanted to move the whole
directory up a level ({git_rep}/{directory}/{submodule}). But when I
used 'git mv {directory} ../' the '.gitmodule' file didn't get modified.
Best regards,
Albin Otterhäll
On Fri, Apr 15, 2016 at 1:14 AM, Albin Otterhäll [off-list ref] wrote:
I've a submodule located in a subdirectory
({git_rep}/home/{directory}/{submodule}), and I wanted to move the whole
directory up a level ({git_rep}/{directory}/{submodule}). But when I
used 'git mv {directory} ../' the '.gitmodule' file didn't get modified.
Best regards,
Albin Otterhäll
Thanks for the bug report!
Which version of Git do you use? (Did you try different versions?)
On Fri, Apr 15, 2016 at 10:18 AM, Stefan Beller [off-list ref] wrote:
On Fri, Apr 15, 2016 at 1:14 AM, Albin Otterhäll [off-list ref] wrote:
quoted
I've a submodule located in a subdirectory
({git_rep}/home/{directory}/{submodule}), and I wanted to move the whole
directory up a level ({git_rep}/{directory}/{submodule}). But when I
used 'git mv {directory} ../' the '.gitmodule' file didn't get modified.
Best regards,
Albin Otterhäll
Thanks for the bug report!
Which version of Git do you use? (Did you try different versions?)
I think I can reproduce the problem. A regression test (which currently fails)
could look like
diff --git a/t/t7001-mv.sh b/t/t7001-mv.sh
index 4008fae..3b96a9a 100755
--- a/t/t7001-mv.sh
+++ b/t/t7001-mv.sh
@@ -292,6 +292,9 @@ test_expect_success 'setup submodule' '
echo content >file &&
git add file &&
git commit -m "added sub and file" &&
+ mkdir -p deep/directory/hierachy &&
+ git submodule add ./. deep/directory/hierachy/sub &&
+ git commit -m "added another submodule" &&
git branch submodule
'
@@ -475,4 +478,14 @@ test_expect_success 'mv -k does not accidentally
destroy submodules' '
git checkout .
'
+test_expect_failure 'moving a submodule in nested directories' '
+ (
+ cd deep &&
+ git mv directory ../ &&
+ git status
+ # currently git status exits with 128
+ # fatal: Not a git repository:
directory/hierachy/sub/../../../../.git/modules/deep/directory/hierachy/sub
+ )
+'
+
test_done
On 2016-04-15 19:18, Stefan Beller wrote:
On Fri, Apr 15, 2016 at 1:14 AM, Albin Otterhäll [off-list ref] wrote:
quoted
I've a submodule located in a subdirectory
({git_rep}/home/{directory}/{submodule}), and I wanted to move the whole
directory up a level ({git_rep}/{directory}/{submodule}). But when I
used 'git mv {directory} ../' the '.gitmodule' file didn't get modified.
Best regards,
Albin Otterhäll
Thanks for the bug report!
Which version of Git do you use? (Did you try different versions?)
I'm using 2.8.0 (on an Arch system). Haven't tested on any other version.