[Bug 3511] New: hg merge aborts with bogus 'path contains illegal component: /foo'
bugzilla-daemon at bz.selenic.com
bugzilla-daemon at bz.selenic.com
Fri Jun 22 15:56:44 CDT 2012
http://bz.selenic.com/show_bug.cgi?id=3511
Priority: normal
Bug ID: 3511
CC: mercurial-devel at selenic.com
Assignee: bugzilla at selenic.com
Summary: hg merge aborts with bogus 'path contains illegal
component: /foo'
Severity: bug
Classification: Unclassified
OS: Other
Reporter: jonathan.adams at oracle.com
Hardware: PC
Status: UNCONFIRMED
Version: 2.2.1
Component: Mercurial
Product: Mercurial
After upgrading from 1.8.4 to 2.2.1, I started seeing:
% hg merge
local changed usr/src/uts/sun4/os/memnode.c which remote deleted
use (c)hanged version or (d)elete? c
abort: path contains illegal component: /foo.c
% echo $?
255
where "foo.c" was a file that had been added in one of the two heads. The
merge is quite complicated, because it has both the entire history of
a multi-year project, as well as the re-based "final push" version on one side,
and then a month or two of continued development on the other.
1.8.4 was able to do the merge with no complaints.
I was able to write a 'hg bisect' script, which:
blows away the "prefix" dir
builds and installs hg into 'prefix',
runs the merge using the built hg on my workspace, records $?,
does a 'make clean', and
exiting 1 IFF the merge exited w/ 255
Bisecting from 2.0 (good) to the tip (bad) led to:
--- cut here ---
% hg bisect -b tip
% hg update 2.0
455 files updated, 0 files merged, 29 files removed, 0 files unresolved
% ./run_test.sh; echo $?
0
% hg bisect -g
Testing changeset 16030:308406677e9d (1262 changesets remaining, ~10 tests)
358 files updated, 0 files merged, 2 files removed, 0 files unresolved
% hg bisect -c ./run_test.sh
Changeset 16030:308406677e9d: good
Changeset 16364:48692b416fbc: bad
Changeset 16187:b9bd95e61b49: good
Changeset 16290:6863caf01daa: bad
Changeset 16251:6f236c8bdc01: good
Changeset 16270:e04cc21b01b2: good
Changeset 16280:db75321c7a0e: good
Changeset 16285:828fe2ca7cbb: bad
Changeset 16282:0a73c4bd9f47: good
Changeset 16283:0bb0b9f22cd7: good
Changeset 16284:b8c1a8a57540: good
The first bad revision is:
changeset: 16285:828fe2ca7cbb
user: Matt Mackall <mpm at selenic.com>
date: Sun Feb 26 16:45:59 2012 -0600
summary: copies: use ctx.dirs() for directory rename detection
%
--- cut here ---
Given that, I tried doing:
--- cut here ---
% hg update -C tip
251 files updated, 0 files merged, 3 files removed, 0 files unresolved
% hg backout -r 16285
reverting mercurial/copies.py
251 files updated, 0 files merged, 3 files removed, 0 files unresolved
% ./run_test.sh; echo $?
0
%
--- cut here ---
so backing out that changeset allowed the merge to proceed without aborting.
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the Mercurial-devel
mailing list