Skip to contentSkip to conversation

How to resolve conflict: Moved away vs. created new file with same name

DISCUSSION Johannes Schneider 2 participants 4 messages Jun 15, 2016 1 message not in the archive

lore
Share & tools
lore
#0 lore raw

Hi,

I had the following merge problem that I could not solve.

TopicA:

created a directory "client" containing a pom.xml and several source files.

TopicB:

created a directory "client" containing a pom.xml (different file than the one in TopicA). Created several subdirectories (client1, client2).

You get the idea? I introduce several different clients and want them to be stored within one directory. But I did not have this idea when I have started TopicA.

So I am trying to mimic the change in TopicA:

cd client
mkdir client3
mv pom.xml client3
mv src client3
...commit...

Okay, so far so good. Now I try to merge TopicA and TopicB which fails. Of course Git doesn't understand that "client/pom.xml" in TopicA and TopicB are not related. I want to end with to the file from TopicA ending in "client/client3/pom.xml" and the file from TopicB in "client/pom.xml".

I don't blame Git for not knowing what I want. I just wanna ask how I should tell Git what I want? Any hints?

Thanks,

Johannes

#1 lore raw
Quoted 11 lines · Johannes Schneider

TopicA:

created a directory "client" containing a pom.xml and several source files.

TopicB:

created a directory "client" containing a pom.xml (different file than the one in TopicA).
Created several subdirectories (client1, client2).

Quoted 8 lines

...
So I am trying to mimic the change in TopicA:

cd client
mkdir client3
mv pom.xml client3
mv src client3
...commit...

Did you do this during the merge? If not, go back to TopicA and redo it; then you avoid the conflict during the merge.

Quoted 5 lines

Okay, so far so good. Now I try to merge TopicA and TopicB which fails. Of course Git doesn't understand that "client/pom.xml" in TopicA and TopicB are not related.
I want to end with to the file from TopicA ending in "client/client3/pom.xml" and the file from TopicB in "client/pom.xml".

During the merge without the fixup suggested above:

git rm -f client/client3/pom.xml
git checkout TopicA -- client/pom.xml
git mv client/pom.xml client/client3/pom.xml
git checkout TopicB -- client/pom.xml

but it leaves you with an ugly history, and it would be far better to fix up TopicA before the merge.

-- Hannes

A message that is not in the archive (sent off-list or not yet received): [email protected]

#3 lore raw

Please keep the discussion on the list. I'm not your personal support dude.

Quoted 22 lines · Johannes Schneider
Quoted 10 lines · Johannes Sixt
Quoted 7 lines

So I am trying to mimic the change in TopicA:

cd client
mkdir client3
mv pom.xml client3
mv src client3
...commit...

Did you do this during the merge? If not, go back to TopicA and redo it; then you avoid the conflict during the merge.

Yes, I have done this in TopicA *before* the merge. I knew that there will be conflicting directories and tried to clean that up before.

Quoted 7 lines

During the merge without the fixup suggested above:

git rm -f client/client3/pom.xml
git checkout TopicA -- client/pom.xml
git mv client/pom.xml client/client3/pom.xml
git checkout TopicB -- client/pom.xml

Quoted 5 lines
Quoted 2 lines

but it leaves you with an ugly history, and it would be far better to fix up TopicA before the merge.

Yep. I prefer a clean history ;-). So do you know how to solve that issue with a cleaned up TopicA branch?

I don't see an issue if you have cleaned up TopicA. Where is it? Did you really do what you said you did?

-- Hannes

#4 lore raw
Quoted 1 line · Johannes Sixt

Please keep the discussion on the list. I'm not your personal support dude.

Sorry, unintentional. TB3 has a menu entry called "reply to list" that obviously does not what I expected from...

Quoted 38 lines
Quoted 22 lines · Johannes Schneider
Quoted 10 lines · Johannes Sixt
Quoted 7 lines

So I am trying to mimic the change in TopicA:

cd client
mkdir client3
mv pom.xml client3
mv src client3
...commit...

Did you do this during the merge? If not, go back to TopicA and redo it; then you avoid the conflict during the merge.

Yes, I have done this in TopicA *before* the merge. I knew that there will be conflicting directories and tried to clean that up before.

Quoted 7 lines

During the merge without the fixup suggested above:

git rm -f client/client3/pom.xml
git checkout TopicA -- client/pom.xml
git mv client/pom.xml client/client3/pom.xml
git checkout TopicB -- client/pom.xml

Quoted 5 lines
Quoted 2 lines

but it leaves you with an ugly history, and it would be far better to fix up TopicA before the merge.

Yep. I prefer a clean history ;-). So do you know how to solve that issue with a cleaned up TopicA branch?

I don't see an issue if you have cleaned up TopicA. Where is it? Did you really do what you said you did?

-- Hannes
--
To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html