[issue2642] merging sometimes loses rename information

Willem Verstraeten bugs at mercurial.selenic.com
Tue Feb 15 15:57:13 UTC 2011


New submission from Willem Verstraeten <willem.verstraeten at gmail.com>:

Because of change 31141fd7c9cc ( http://selenic.com/hg/rev/31141fd7c9cc ), 
merging between named branches sometimes disregards rename information.

Specific scenario:
In a single repository, we have several named branches to be able to maintain 
prior versions of our product:
hg branch output: 
default
BRANCH_STABLE
BRANCH_V9
BRANCH_V8

On BRANCH_V8, I've renamed a file from 
dev/testsrc/com/company/feature/Test.java to 
dev/testsrc/com/company/internal/feature/Test.java

When I merge this change to BRANCH_V9, (where the filename is still the same, 
but the contents slightly different), I expect the rename to merged as a 
rename, but instead I get the following warning on the console, and a new 
file dev/testsrc/com/company/internal/feature/Test.java that is identical to 
the BRANCH_V8 version (i.e. without the BRANCH_V9 modifications):

local changed 
dev/testsrc/com/luciad/lucy/addons/drawing/format/TestDrawingSHPCodec.java 
which remote deleted
use (c)hanged version or (d)elete?

I haven't been able to reproduce this in a separate script, but I've got a 
trimmed company repository (16 changesets, 180kb, passes hg verify) where I 
can demonstrate the bug in mercurial 1.5 up to and including 1.7.5. Is there 
anywhere I can upload that repository ?

Marking this as critical because every merge like this that gets committed 
and pushed throws away rename information, and constitutes data-loss for us.

----------
messages: 15253
nosy: willemv
priority: critical
status: unread
title: merging sometimes loses rename information

____________________________________________________
Mercurial issue tracker <bugs at mercurial.selenic.com>
<http://mercurial.selenic.com/bts/issue2642>
____________________________________________________


More information about the Mercurial-devel mailing list