From: Ефимов Василий Date: Fri, 10 Nov 2017 16:41:15 GMT Subject: Bug: cherry-pick & submodule Message-ID: <743acc29-85bb-3773-b6a0-68d4a0b8fd63@ispras.ru> I faced an unexpected behaviour during cherry-picking a commit to a branch with a submodule. Git graph: A -- B [master] \ `- C -- D [test] Both branches have a file with name `a_file`. It has been added by commit A. Commits B and C add a folder with name `a_submodule` to the respective branches. Commit C does it regularly by adding a file with name `a_submodule/content`. Commit B adds a submodule with name `a_submodule`. Commit D only modifies `a_file`. Note that `a_file` and `a_submodule` are not related. [repo] |- a_file `- a_submodule When I trying to cherry pick commit D on commit B, I got a conflict with `a_submodule`. Changes of `a_file` are successfully cherry-picked. I expected, that there would be no conflicts. A bash script reproducing the bug is listed below. Vasily. ==== rm -rf a_submodule a_repo mkdir a_submodule cd a_submodule git init touch a_file_in_a_submodule git add a_file_in_a_submodule git commit -m "add a file in a submodule" cd .. mkdir a_repo cd a_repo git init touch a_file git add a_file git commit -m "add a file" git branch test git checkout test mkdir a_submodule touch a_submodule/content git add a_submodule/content git commit -m "add a regular folder with name a_submodule" echo "123" > a_file git add a_file git commit -m "modify a file" git checkout master git submodule add ../a_submodule a_submodule git submodule update a_submodule git commit -m "add a submodule info folder with name a_submodule" # Trying to cherry-pick modification of a file from test branch. git cherry-pick test # some debug git status ====