From: "Jason Pyeron" <jpyeron@pdinc.us>
To: "'git'" <git@vger.kernel.org>
Cc: "'Phil Hord'" <phil.hord@gmail.com>
Subject: RE: Trouble merging renamed but identical files - CONFLICT (rename/rename)
Date: Fri, 27 Jun 2014 18:39:26 -0400 [thread overview]
Message-ID: <073A89A2555A4CD6AB28AF42078575ED@black> (raw)
In-Reply-To: <CABURp0rFCxxpiQhRYXmN5eBnKhyyOeuFSTj0V1tGZJSNea5iEA@mail.gmail.com>
> -----Original Message-----
> From: Phil Hord [mailto:phil.hord@gmail.com]
> Sent: Friday, June 27, 2014 17:46
> To: Jason Pyeron
> Cc: git
> Subject: Re: Trouble merging renamed but identical files -
> CONFLICT (rename/rename)
>
> On Fri, Jun 27, 2014 at 4:47 PM, Jason Pyeron
> <jpyeron@pdinc.us> wrote:
> > There are two identical files from the same original
> parent, but both were
> > renamed in their own branches. One branch moved the file to
> a new folder, the
> > other renamed the file in the same folder.
>
> You have not stated what you think the issue is. You have only stated
> the setup.
Thanks, I could have said it better.
I think that git should understand that I have moved a file in path only (the
tree object containing the file's entry change, but not the entry it self) and
that the branch from which I want to merge back (with common ancestry) has
renamed the file in the same path ( the tree object is unchanged, but the entry
is) such that the object is re-parented and renamed in that path.
How can this be done in git or if it cannot what are the chalenges to patching
git for this issue.
git cat-file -p b60070f4d0879e277f44d174a163bbb292325fea # tree
d8df83fc6714aab1fc1df061fcb03410e1dab1e5
git cat-file -p d8df83fc6714aab1fc1df061fcb03410e1dab1e5 # 040000 tree
68bb8a223284e0f5057421217a5965128bf1d51a src
git cat-file -p 68bb8a223284e0f5057421217a5965128bf1d51a # 100644 blob
25c7d3b12bced67046359ba1e7945f82a2640147 TrueCrypt.sln
git cat-file -p a0c84ff28f356bcb8b872a9c65a2e9bff97b3f68 # tree
7f82a6c46f19931c3c40d44dc196cbfab7feaa72
git cat-file -p 7f82a6c46f19931c3c40d44dc196cbfab7feaa72 # 100644 blob
25c7d3b12bced67046359ba1e7945f82a2640147 CipherShed.sln
>
>
> I suppose you want Git to merge without conflict in the end, though,
> based on your script. Is that right?
>
>
> > Steps to reproduce the issue:
> > git init
> > git fetch https://github.com/pdinc-oss/CipherShed.git
> > git fetch https://github.com/srguglielmo/CipherShed.git
> > git checkout -b test b60070f4d0879e277f44d174a163bbb292325fea
> > git merge a0c84ff28f356bcb8b872a9c65a2e9bff97b3f68
> >
> > CONFLICT (rename/rename): Rename
> "TrueCrypt.sln"->"src/TrueCrypt.sln" in branch
> > "HEAD" rename "TrueCrypt.sln"->"CipherShed.sln" in
> > "a0c84ff28f356bcb8b872a9c65a2e9bff97b3f68"
>
> Git seems to be doing the correct thing here.
>
>
> > git reset --hard b60070f4d0879e277f44d174a163bbb292325fea
> > git mv src/TrueCrypt.sln src/CipherShed.sln
> > git commit -m 'renamed to be congruent with a0c84ff'
> > git merge a0c84ff28f356bcb8b872a9c65a2e9bff97b3f68
> >
> > Sill get a CONFLICT (rename/rename): Rename
> > "TrueCrypt.sln"->"src/CipherShed.sln" in branch "HEAD" rename
> > "TrueCrypt.sln"->"CipherShed.sln" in
> "a0c84ff28f356bcb8b872a9c65a2e9bff97b3f68"
>
> Git seems to be doing the correct thing here, too.
>
> > I will have many more to come, any suggestions?
>
> Maybe you meant to move the renamed file to the same folder where it
> exists in the merge target. I do not get a conflict when I do that.
Are you saying I should git mv src/TrueCrypt.sln CipherShed.sln ?
Then it will be in the wrong path as intended.
>
> git reset --hard b60070f4d0879e277f44d174a163bbb292325fea
> git mv src/TrueCrypt.sln CipherShed.sln
> git commit -m 'renamed to be congruent with a0c84ff'
> git merge a0c84ff28f356bcb8b872a9c65a2e9bff97b3f68
>
> No conflict (on that file, anyway).
Agreed, but not the desired end state.
--
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
- -
- Jason Pyeron PD Inc. http://www.pdinc.us -
- Principal Consultant 10 West 24th Street #100 -
- +1 (443) 269-1555 x333 Baltimore, Maryland 21218 -
- -
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
This message is copyright PD Inc, subject to license 20080407P00.
next prev parent reply other threads:[~2014-06-27 23:52 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-06-27 20:47 Trouble merging renamed but identical files - CONFLICT (rename/rename) Jason Pyeron
2014-06-27 21:46 ` Phil Hord
2014-06-27 22:39 ` Jason Pyeron [this message]
2014-06-29 15:28 ` Phil Hord
[not found] ` <66A60DA77398CD439FA676CEF593977D52477A@exchange.1.internal.pdinc.us>
2014-06-28 0:42 ` Jason Pyeron
2014-06-28 9:46 ` Jason Pyeron
2014-06-29 15:31 ` Phil Hord
2014-06-29 20:09 ` Phil Hord
2014-06-29 20:20 ` Jason Pyeron
2014-06-29 20:26 ` Phil Hord
2014-06-29 21:13 ` Jason Pyeron
2014-06-30 1:42 ` Phil Hord
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=073A89A2555A4CD6AB28AF42078575ED@black \
--to=jpyeron@pdinc.us \
--cc=git@vger.kernel.org \
--cc=phil.hord@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox