# [BUG] Replacing dir with submodule causes weird issues with cherry-pick

2 messages from 2011-02-15 to 2011-02-16. Participants: Kevin Ballard, Johannes Sixt.
Thread: https://gitlist.dev/t/26513

## Kevin Ballard, 2011-02-15 23:19

Subject: [BUG] Replacing dir with submodule causes weird issues with cherry-pick
Message-ID: <22F69B3E-600C-41AC-911D-B9808A3705E6@inkling.com>
URL: https://gitlist.dev/e/22F69B3E-600C-41AC-911D-B9808A3705E6%40inkling.com

```
If I replace a directory in my project with a submodule, then later attempt to
cherry-pick a commit that predates this change (but does not touch the directory),
git always marks the submodule path as containing an created/deleted merge conflict.
This makes absolutely no sense, as the change in question has nothing to do with
the directory, but git seems convinced that it did.

% mkdir a b
% cd b
% git init
% touch b && git add b && git commit -m 'initial'
% cd ../a
% git init
% touch a && git add a && git commit -m 'initial'
% mkdir b && touch b/b && git add b/b && git commit -m 'add file b/b'
% git checkout -b test && touch c && git add c && git commit -m 'add file c'
% git checkout master
% git rm -rf b
% git submodule add file://$PWD/../b b
% git commit -m 'replace dir b with submodule'
% # everything is fine at this point
% git cherry-pick test

At this point, the spurious merge conflict exists. Even more annoyingly, if I run
git mergetool, it actually moves the submodule out of the way, which requires manual
repairs after I've aborted the command.

If instead of cherry-pick I run `git show --pretty=email test | git am` everything
works as expected.

This was reproduced using git version 1.7.4.45.g3c41d, built from the next branch.

-Kevin Ballard
```

## Johannes Sixt, 2011-02-16 07:05

Subject: Re: [BUG] Replacing dir with submodule causes weird issues with cherry-pick
Message-ID: <4D5B7744.7040409@viscovery.net>
URL: https://gitlist.dev/e/4D5B7744.7040409%40viscovery.net
In-Reply-To: <22F69B3E-600C-41AC-911D-B9808A3705E6@inkling.com>

```
Am 2/16/2011 0:19, schrieb Kevin Ballard:
> If I replace a directory in my project with a submodule, then later attempt to
> cherry-pick a commit that predates this change (but does not touch the directory),
> git always marks the submodule path as containing an created/deleted merge conflict.

Known breakage; t3030 tests for it. 7d82b06d talks about a file/directory
conflict, though.

-- Hannes

```
