Conflicts encountered in checkouts have confusing errors about adding .BASE .THIS and .OTHER files

Bug #228506 reported by Mary Gardiner
This bug report is a duplicate of:  Bug #113809: update performs two merges. Edit Remove
2
Affects Status Importance Assigned to Milestone
Bazaar
Confirmed
Low
Unassigned

Bug Description

When updating a checkout I got a conflict in two files:

 M Code/lib/data/scaledata/parse.py
 M Code/lib/data/scaledata/test/test_parse.py
Text conflict in Code/lib/data/scaledata/parse.py
Text conflict in Code/lib/data/scaledata/test/test_parse.py
2 conflicts encountered.

bzr is then apparently incapable of creating the relevant .BASE .OTHER and .TREE files:

Text conflict in Code/lib/data/scaledata/parse.py
Conflict adding file Code/lib/data/scaledata/parse.py.BASE. Moved existing file to Code/lib/data/scaledata/parse.py.BASE.moved.
Conflict adding file Code/lib/data/scaledata/parse.py.OTHER. Moved existing file to Code/lib/data/scaledata/parse.py.OTHER.moved.
Conflict adding file Code/lib/data/scaledata/parse.py.THIS. Moved existing file to Code/lib/data/scaledata/parse.py.THIS.moved.
Text conflict in Code/lib/data/scaledata/test/test_parse.py
Conflict adding file Code/lib/data/scaledata/test/test_parse.py.BASE. Moved existing file to Code/lib/data/scaledata/test/test_parse.py.BASE.moved.
Conflict adding file Code/lib/data/scaledata/test/test_parse.py.OTHER. Moved existing file to Code/lib/data/scaledata/test/test_parse.py.OTHER.moved.
Conflict adding file Code/lib/data/scaledata/test/test_parse.py.THIS. Moved existing file to Code/lib/data/scaledata/test/test_parse.py.THIS.moved.

There are two problems here: why can't it create .BASE .OTHER and .THIS and the error message is highly confusing. In Bazaar, the verb "to add" means "add to code managed by Bazaar". However, when I asked Andrew Bennetts "why has Bazaar got so confused it wants to add the BASE files to my repository" he said "it doesn't, here 'add' means something like 'create in your working copy'?" The semantics of "add" are fairly particular in version control systems, and a different verb or verb phrase such as "create" or "create in working copy" should be used here.

Tags: trivial ui
Revision history for this message
James Westby (james-w) wrote :

Hi,

There are a couple of things going on here, and I'm not entirely
sure what is going on.

Firstly, I agree that "add" could be confusing here, "creating" could
be a better word to use.

Secondly, the it has trouble creating them as they already exist for
some reason. I haven't worked out how that could happen yet,
but it's possible that they could still be around from a previous
conflict.

Lastly, if you run status after this then you are told that there
are also conflicts for the "BASE" etc. files. Do I really need to
resolve those conflicts before committing? I don't even really
know what a sensible resolution for these conflicts would be.

Thanks,

James

Changed in bzr:
importance: Undecided → Low
status: New → Confirmed
Revision history for this message
James Westby (james-w) wrote :

Hi,

Just a note to say that this bug will be about the use of the word
"adding". If there are other bugs lurking here then we will split
them out. I assume changing the word will be an easy thing
to do, hence the tags I set.

Thanks,

James

Revision history for this message
Mary Gardiner (puzzlement) wrote :

I'll see if I can come up with a test case regarding whether the files are hanging around from a previous commit. It might not be the case: checkout has a bunch of bugs where it tries to do things twice (eg creating .BASE etc files) and doesn't realise it, something to do with merges actually being performed twice when updates are performed. If I can come up with a test case I'll file a new bug.

Revision history for this message
James Westby (james-w) wrote : Re: [Bug 228506] Re: Conflicts encountered in checkouts have confusing errors about adding .BASE .THIS and .OTHER files

On Mon, 2008-06-16 at 22:59 +0000, Mary Gardiner wrote:
> I'll see if I can come up with a test case regarding whether the files
> are hanging around from a previous commit. It might not be the case:
> checkout has a bunch of bugs where it tries to do things twice (eg
> creating .BASE etc files) and doesn't realise it, something to do with
> merges actually being performed twice when updates are performed. If I
> can come up with a test case I'll file a new bug.
>

Thanks, that would be really helpful. I don't use checkouts
myself much, especially not where I have to "update" before
"commit", so I'm not very used to what goes on.

Thanks,

James

Revision history for this message
James Westby (james-w) wrote :

Hi Mary,

https://bugs.edge.launchpad.net/bzr/+bug/113809 seems relevant here,
could that be what happened in your case?

Thanks,

James

Revision history for this message
Andrew Bennetts (spiv) wrote :

I think it's extremely likely that this is bug 113809 (local commit + uncommitted change to same file can cause bzr update to double-conflict like this). The "bzr st" output from that case is identical AFAICT, and it seems like that combination of things would be pretty common if you used checkouts and local commits. So I'm going to go ahead and mark this as a duplicate. Mary, please feel free to de-dupe this bug if you disagree.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.