git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: 'git mv' doesn't move submodule if it's in a subdirectory

From
Stefan Beller <sbeller@google.com>
Date
Apr 15, 2016, 17:59 UTC
Message-ID
<CAGZ79kZifiEY1rg6KNFRnkOemjJhY9fFpxHmK0gB8fLh1siAxw@mail.gmail.com>
In-Reply-To
<CAGZ79kaN-s74cJkgOq3+7e57-BKevMr8pr=tAHVEpELetVYnTA@mail.gmail.com>
On Fri, Apr 15, 2016 at 10:18 AM, Stefan Beller <sbeller@google.com> wrote:
Show 11 quoted lines
> On Fri, Apr 15, 2016 at 1:14 AM, Albin Otterhäll <gmane@otterhall.com> 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?)

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
Previous: Stefan BellerNext: Junio C Hamano
Message 3 of 7 in “'git mv' doesn't move submodule if it's in a subdirectory”
  1. Albin OtterhällApr 15, 2016
  2. Stefan BellerApr 15, 2016
  3. Stefan BellerApr 15, 2016
  4. Junio C HamanoApr 15, 2016
  5. Stefan BellerApr 15, 2016
  6. mv: allow moving nested submodulesStefan Beller, Apr 15, 2016
  7. Albin OtterhällApr 15, 2016

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.