[Bug 4516] New: Merge issue with directory rename: "remote changed asyncio/sslproto.py which local deleted"

mercurial-bugs at selenic.com mercurial-bugs at selenic.com
Thu Jan 29 20:12:04 UTC 2015


http://bz.selenic.com/show_bug.cgi?id=4516

          Priority: normal
            Bug ID: 4516
                CC: mercurial-devel at selenic.com
          Assignee: bugzilla at selenic.com
           Summary: Merge issue with directory rename: "remote changed
                    asyncio/sslproto.py which local deleted"
          Severity: bug
    Classification: Unclassified
                OS: Linux
          Reporter: victor.stinner at gmail.com
          Hardware: PC
            Status: UNCONFIRMED
           Version: 3.2.4
         Component: Mercurial
           Product: Mercurial

Created attachment 1804
  --> http://bz.selenic.com/attachment.cgi?id=1804&action=edit
Output of hg merge --debug default

Hi,

I have an issue with merge. To reproduce the issue:

* clone the small repository, the trollius branch: hg clone
'https://bitbucket.org/enovance/trollius#trollius'
* try to merge: hg merge default (merge default: 2f8b21e72dfa into trollius:
b599de11d757)
* currently I get: "remote changed asyncio/sslproto.py which local deleted"
* I expect a merge with no question

I don't understand the question because trollius/sslproto.py still exists in
the trollius branch, and Mercurial knows that asyncio/ was renamed to
trollius/: see "checking for directory renames: discovered dir src: 'asyncio/'
-> dst: 'trollius/'" in the attached file.

I have an issue with the file trollius/sslproto.py in my branch trollius. This
file comes from asyncio/sslproto.py in the default branch. I renamed the
asyncio/ directory to trollius/ in the trollius branch in the changeset
164fd4067f69. asyncio/sslproto.py was created in the changeset 4f78e6bd48ec and
merged into the trollius branch trollius in the changeset ce40c7779a6d (as
trollius/sslproto.py.

I modified asyncio/sslproto.py multiple times and I was able to merge changes
in the trollius branch. But recently I modified trollius/sslproto.py in the
trollius branch: changeset dd07d4241f62. It was maybe my mistake? This change
was mandatory for the trollius branch, whereas it must not be done in the
asyncio branch.

Attached merge.txt is the output of the "hg merge --debug default" command
executed in the trollius branch.

I tested Mercurial 3.0 and 3.2.4: same output.

Is it possible to see which "rename" information are stored in Mercurial? I
don't remember how I renamed asyncio/ to trollius/ in changeset 164fd4067f69.
Probably using "hg mv asyncio trollius".

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the Mercurial-devel mailing list