InvalidEntryName: Problem merging with a single conflict: rename appears out of nowhere
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar |
Confirmed
|
Medium
|
Unassigned |
Bug Description
I have two branches, ~/Teaching and ~/teaching-current. They are diverged and have both changed the same file.
nmb@guttle[~]$ bzr log -v -n0 --show-ids -r 697.. Teaching
-------
revno: 700
revision-id: <email address hidden>
parent: <email address hidden>
committer: Neil Martinsen-Burrell <email address hidden>
branch nick: Teaching
timestamp: Thu 2010-05-06 16:19:47 -0500
message:
hw thru 5, posted
modified:
math214/
-------
revno: 699
revision-id: <email address hidden>
parent: <email address hidden>
committer: Neil Martinsen-Burrell <email address hidden>
branch nick: Teaching
timestamp: Thu 2010-05-06 16:03:42 -0500
message:
stuff for the first exam
added:
math214/exam1/ math214exam1-
math214/
math214/
math214/
-------
revno: 698
revision-id: <email address hidden>
parent: <email address hidden>
committer: Neil Martinsen-Burrell <email address hidden>
branch nick: Teaching
timestamp: Thu 2010-05-06 09:56:56 -0500
message:
paper airplane grades
modified:
math214/
-------
revno: 697
revision-id: <email address hidden>
parent: <email address hidden>
committer: Neil Martinsen-Burrell <email address hidden>
branch nick: Teaching
timestamp: Wed 2010-05-05 12:57:46 -0500
message:
slides for the second half of class
added:
math214/
math214/
modified:
math214/
nmb@guttle[~]$ bzr log -v -n0 --show-ids -r 697.. teaching-current
-------
revno: 703
revision-id: <email address hidden>
parent: <email address hidden>
committer: Neil Martinsen-Burrell <email address hidden>
branch nick: Teaching
timestamp: Wed 2010-05-12 16:16:12 -0500
message:
reading Qs and hw thru 9
modified:
math214/
-------
revno: 702
revision-id: <email address hidden>
parent: <email address hidden>
committer: Neil Martinsen-Burrell <email address hidden>
branch nick: Teaching
timestamp: Wed 2010-05-12 11:47:02 -0500
message:
revised semester project
modified:
math214/
-------
revno: 701
revision-id: <email address hidden>
parent: <email address hidden>
committer: Neil Martinsen-Burrell <email address hidden>
branch nick: Teaching
timestamp: Wed 2010-05-12 09:43:00 -0500
message:
added semester project info
added:
math214/
math214/
-------
revno: 700
revision-id: <email address hidden>
parent: <email address hidden>
committer: Neil Martinsen-Burrell <email address hidden>
branch nick: Teaching
timestamp: Mon 2010-05-10 09:38:10 -0500
message:
with reading grades
modified:
math214/
-------
revno: 699
revision-id: <email address hidden>
parent: <email address hidden>
committer: Neil Martinsen-Burrell <email address hidden>
branch nick: Teaching
timestamp: Mon 2010-05-10 09:31:27 -0500
message:
exam grades, hw thru 7, for posting
modified:
math214/
-------
revno: 698 [merge]
revision-id: <email address hidden>
parent: <email address hidden>
parent: <email address hidden>
committer: Neil Martinsen-Burrell <email address hidden>
branch nick: Teaching
timestamp: Mon 2010-05-10 09:24:38 -0500
message:
merge in paper airplane grades
modified:
math214/
---
revno: 697.1.1
revision-id: <email address hidden>
parent: <email address hidden>
committer: Neil Martinsen-Burrell <email address hidden>
branch nick: Teaching
timestamp: Thu 2010-05-06 09:56:56 -0500
message:
paper airplane grades
modified:
math214/
-------
revno: 697
revision-id: <email address hidden>
parent: <email address hidden>
committer: Neil Martinsen-Burrell <email address hidden>
branch nick: Teaching
timestamp: Wed 2010-05-05 12:57:46 -0500
message:
slides for the second half of class
added:
math214/
math214/
modified:
math214/
Now, when I merge teaching-current into Teaching, I expect to get a conflict on math214/
nmb@guttle[~]$ cd Teaching
nmb@guttle[
+N math214/
+N math214/
RM math214/
Contents conflict in math214/
1 conflicts encountered.
Now, though, the status seems very suspicious:
nmb@guttle[
added:
math214/
math214/
renamed:
math214/
modified:
math214/
unknown:
math214/
math214/
math214/
conflicts:
Contents conflict in math214/
pending merge tips: (use -v to see all merge revisions)
Neil Martinsen-Bu... 2010-05-12 reading Qs and hw thru 9
Where the file is marked as renamed *and* modified which just seems wrong. Neither branch contained a rename at all! Now, what I would like to do is to take the version of math214/
nmb@guttle[
nmb@guttle[
added:
math214/
math214/
renamed:
math214/
modified:
math214/
unknown:
math214/
math214/
math214/
math214/
conflicts:
Contents conflict in math214/
pending merge tips: (use -v to see all merge revisions)
Neil Martinsen-Bu... 2010-05-12 reading Qs and hw thru 9
Which of course isn't right because now math214/
nmb@guttle[
nmb@guttle[
added:
math214/
math214/
renamed:
math214/
modified:
math214/
unknown:
math214/
math214/
math214/
conflicts:
Contents conflict in math214/
pending merge tips: (use -v to see all merge revisions)
Neil Martinsen-Bu... 2010-05-12 reading Qs and hw thru 9
nmb@guttle[
bzr: ERROR: bzrlib.
Traceback (most recent call last):
File "/Users/
return the_callable(*args, **kwargs)
File "/Users/
ret = run(*run_argv)
File "/Users/
return self.run(
File "/Users/
return self._operation
File "/Users/
self.cleanups, self.func, *args, **kwargs)
File "/Users/
result = func(*args, **kwargs)
File "/Users/
resolve(tree, file_list, action=action)
File "/Users/
conflict.
File "/Users/
meth(tree)
File "/Users/
self.
File "/Users/
op.
File "/Users/
self.cleanups, self.func, *args, **kwargs)
File "/Users/
result = func(*args, **kwargs)
File "/Users/
tt.apply()
File "/Users/
inventory_delta = self._generate_
File "/Users/
parent_file_id, file_id)
File "/Users/
return factory(file_id, name, parent_id)
File "/Users/
super(
File "/Users/
raise errors.
InvalidEntryName: Invalid entry name: math214/
bzr 2.2.0dev1 on python 2.6.5 (Darwin-
arguments: ['/Users/
encoding: 'UTF-8', fsenc: 'utf-8', lang: 'en_US.UTF-8'
plugins:
automirror /Users/
bzrtools /Users/
colo /Users/
explorer /Users/
fastimport /Users/
git /Users/
hg /Users/
latex_
launchpad /Users/
netrc_
news_merge /Users/
qbzr /Users/
rst2html /Users/
*** Bazaar has encountered an internal error. This probably indicates a
bug in Bazaar. You can help us fix it by filing a bug report at
https:/
including this traceback and a description of the problem.
The branch contains confidential information so I can't share it, but I would be happy to provide any more debugging information that is needed.
summary: |
- Problem merging with a single conflict: rename appears out of nowhere + InvalidEntryName: Problem merging with a single conflict: rename appears + out of nowhere |
Changed in bzr: | |
status: | New → Confirmed |
importance: | Undecided → Medium |
>>>>> Neil Martinsen-Burrell <email address hidden> writes:
> Public bug reported:
> I have two branches, ~/Teaching and ~/teaching-current. They are
> diverged and have both changed the same file.
Not exactly, I presume they have both *created* a file with the same
name, but each one got a different file-id (which is used by bzr to
track renames).
> Now, though, the status seems very suspicious:
> nmb@guttle[ ~/Teaching] $ bzr st lectures/ chapter7a. pdf semester- project. tex grades_ 214.ods => math214/ grades_ 214.ods. OTHER
> added:
> math214/
> math214/
> renamed:
> math214/
.OTHER is the file from the merged branch (see below)
> modified: grades_ 214.ods. OTHER grades_ 214.ods. BASE grades_ 214.ods. THIS exam1/exam1_ soln.tex grades_ 214.ods
> math214/
> unknown:
> math214/
> math214/
> math214/
> conflicts:
> Contents conflict in math214/
> pending merge tips: (use -v to see all merge revisions)
> Neil Martinsen-Bu... 2010-05-12 reading Qs and hw thru 9
> Where the file is marked as renamed *and* modified which just seems
> wrong. Neither branch contained a rename at all!
Right, bzr did the 'math214/ grades_ 214.ods => grades_ 214.ods. OTHER' rename so no 'grades_214.ods' is left in
math214/
the tree until the conflict is resolved.
> Now, what I would like to do is to take the version of grades_ 214.ods from teaching-current as the correct,
> math214/
> up-to-date version:
> nmb@guttle[ ~/Teaching] $ cp math214/ grades_ 214.ods. OTHER math214/ grades_ 214.ods
Yeah, the current 'resolve --take-other' implementation is brittle,
that's a genuine bug. You're expected to use --take-other *before*
trying manual resolution, sorry about that :-/
<snip/>
> Which of course isn't right because now math214/ grades_ 214.ods is
> unknown. ``bzr resolve --take-other`` also fails with a traceback
> (which may be a separate bug):
s/also/now/, I'm pretty sure it will succeeds if you remove grades_214.ods.
It's not a separate bug, it *is* the bug, --take=other shouldn't
backtrace, at worst it should realize that grade_214.ods is in the way
(and unknown !) and reports a clean error accordingly.
> The branch contains confidential information so I can't share it,
> but I would be happy to provide any more debugging information
> that is needed.
I'm pretty confident this could be reproduced easily.
Thanks for the report !