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

Branch switching with submodules where the submodule replaces a folder aborts unexpectedly

From
Thomas Braun <thomas.braun@virtuell-zuhause.de>
Date
Oct 9, 2017, 21:29 UTC
Message-ID
<788230417.115707.1507584541605@ox.hosteurope.de>
Hi,
I'm currently in the progress of pulling some subprojects in a git repository of mine into their own repositories and adding these subprojects back as submodules.
While doing this I enountered a potential bug as checkout complains on branch switching that a file already exists.
I've reproduced it on debian stretch with the following git versions:

master: git version 2.15.0.rc0.39.g2f0e14e649 pu: git version 2.15.0.rc0.245.g6d586db062

A script to trigger it is

mkdir -p test/subproject cd test git init touch subproject/1 git add subproject git commit -m "blah" cd .. mkdir subproject cd subproject git init touch 1 git add 1 git commit -m "blubb" cd ../test git branch old git rm -rf subproject git commit -m "remove blah" git submodule add ../subproject git add -A git commit -m "added subproject" git branch new git checkout old

and this fails with 
$LANG=C ./run.sh 
Initialized empty Git repository in /home/XXX/devel/test/.git/
[master (root-commit) 33e6607] blah
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 subproject/1
Initialized empty Git repository in /home/XXX/devel/subproject/.git/
[master (root-commit) e817644] blubb
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 1
rm 'subproject/1'
[master 9cbfd57] remove blah
 1 file changed, 0 insertions(+), 0 deletions(-)
 delete mode 100644 subproject/1
Cloning into '/home/XXX/devel/test/subproject'...
done.
[master 1c67e23] added subproject
 2 files changed, 4 insertions(+)
 create mode 100644 .gitmodules
 create mode 160000 subproject
error: The following untracked working tree files would be overwritten by checkout:
        subproject/1
Please move or remove them before you switch branches.
Aborting
If I'm misusing git here I'm glad for any advice.

Thanks, Thomas

Next: Stefan Beller
Message 1 of 3 in “Branch switching with submodules where the submodule replaces a folder aborts unexpectedly”
  1. Thomas BraunOct 9, 2017
  2. Stefan BellerOct 9, 2017
  3. Thomas BraunOct 12, 2017

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.