Comment 3 for bug 579733

Revision history for this message
John A Meinel (jameinel) wrote : Re: [Bug 579733] Re: InvalidEntryName: Problem merging with a single conflict: rename appears out of nowhere

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

...

>> > nmb@guttle[~/Teaching]$ bzr st
>> > added:
>> > math214/lectures/chapter7a.pdf
>> > math214/semester-project.tex
>> > renamed:
>> > math214/grades_214.ods => math214/grades_214.ods.OTHER
>>
>> .OTHER is the file from the merged branch (see below)
>>
>> > modified:
>> > math214/grades_214.ods.OTHER
>> > unknown:
>> > math214/grades_214.ods.BASE
>> > math214/grades_214.ods.THIS
>> > math214/exam1/exam1_soln.tex
>> > conflicts:
>> > Contents conflict in math214/grades_214.ods
>> > 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 =>
>> math214/grades_214.ods.OTHER' rename so no 'grades_214.ods' is left in
>> the tree until the conflict is resolved.
>
> But where did this rename come from? The log shows NO SUCH ACTIVITY on
> either branch. Is there a source of changes that would not be shown in
> the log? Revision 697 is identical on the two branches. All of the
> changes that could have produced divergence are shown in those two logs.
> Which one of them introduced a rename?

If the target branch deletes a file, and the source branch modifies it,
I believe we mark it conflicted, and use a local name of 'foo.OTHER'.
The idea was to make it clear that the file had been deleted, so you had
your choice of how to resolve it.

I think the easiest way to be less confusing is to be clearer on the
"Contents conflict in..." message.

If you want to delete the contents, you should be able to:

 bzr revert math214/grades_214.ods.OTHER

If you want the changes that were introduced in OTHER, then you can:

 bzr rename math214/grades_214.ods.OTHER math214/grades_214.ods
 bzr commit -m "Restore grades_214.ods, I didn't realize I needed it still".

or do something like:
 ooodiff grades_214.ods.BASE grades_214.ods.OTHER

So that you can tell what was actually changed, and whether it matters
or not.

John
=:->
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkvy6scACgkQJdeBCYSNAAOnPACgqOoO7hZ0ITcOJESZab7mj8+q
l7YAn0jfkvKCcDryamMioIMNocigqj8u
=6H0F
-----END PGP SIGNATURE-----