Spurious Content Conflict!?

Bug #405301 reported by Frits Jalvingh
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Bazaar
Invalid
Undecided
Unassigned

Bug Description

In a simple merge Bazaar reported the following:
jal@odeon:~/bzr/vp-3.2-hot$ bzr merge ../vp-3.1-hot
+N viewpoint/WebContent/iRed/Bae/Facturatie/Bae_facturenEditPage.jsp.OTHER
 M viewpoint/Oracle/views/v_isi_huurontvangsten.vw
 M viewpoint/WebContent/iRed/Bae/Facturatie/Gen_cst_lookupForm.jsp
 M viewpoint/src/iRed/Bae/Facturatie/bae_betaaltermijnenBean.java
 M viewpoint/src/iRed/Bae/Facturatie/bae_facturenBean.java
Contents conflict in viewpoint/WebContent/iRed/Bae/Facturatie/Bae_facturenEditPage.jsp
Text conflict in viewpoint/WebContent/iRed/Bae/Facturatie/Gen_cst_lookupForm.jsp
2 conflicts encountered.

Doing a bzr status shows:
jal@odeon:~/bzr/vp-3.2-hot$ bzr status
added:
  viewpoint/WebContent/iRed/Bae/Facturatie/Bae_facturenEditPage.jsp.OTHER
modified:
  viewpoint/Oracle/views/v_isi_huurontvangsten.vw
  viewpoint/WebContent/iRed/Bae/Facturatie/Gen_cst_lookupForm.jsp
  viewpoint/src/iRed/Bae/Facturatie/bae_betaaltermijnenBean.java
  viewpoint/src/iRed/Bae/Facturatie/bae_facturenBean.java
unknown:
  viewpoint/WebContent/iRed/Bae/Facturatie/Bae_facturenEditPage.jsp.BASE
  viewpoint/WebContent/iRed/Bae/Facturatie/Gen_cst_lookupForm.jsp.BASE
  viewpoint/WebContent/iRed/Bae/Facturatie/Gen_cst_lookupForm.jsp.OTHER
  viewpoint/WebContent/iRed/Bae/Facturatie/Gen_cst_lookupForm.jsp.THIS
conflicts:
  Contents conflict in viewpoint/WebContent/iRed/Bae/Facturatie/Bae_facturenEditPage.jsp
  Text conflict in viewpoint/WebContent/iRed/Bae/Facturatie/Gen_cst_lookupForm.jsp
pending merge tips: (use -v to see all merge revisions)
...

The contents conflict seems nonsense here; the file was just edited in both branches but was not "added" or "deleted", and it is clearly a text file. So it should just be a text conflict. In addition, this "adds" an "OTHER" version of the file which is so very, very wrong...

I looked at a full "missing" and only got "modified" status on the Bae_facturenEditPage.jsp, it was not added/deleted anywhere.

Revision history for this message
John A Meinel (jameinel) wrote :

It was, indeed, a content conflict. If you look at the merge output:
jal@odeon:~/bzr/vp-3.2-hot$ bzr merge ../vp-3.1-hot
+N viewpoint/WebContent/iRed/Bae/Facturatie/Bae_facturenEditPage.jsp.OTHER
 M viewpoint/Oracle/views/v_isi_huurontvangsten.vw
 M viewpoint/WebContent/iRed/Bae/Facturatie/Gen_cst_lookupForm.jsp
 M viewpoint/src/iRed/Bae/Facturatie/bae_betaaltermijnenBean.java
 M viewpoint/src/iRed/Bae/Facturatie/bae_facturenBean.java
Contents conflict in viewpoint/WebContent/iRed/Bae/Facturatie/Bae_facturenEditPage.jsp
Text conflict in viewpoint/WebContent/iRed/Bae/Facturatie/Gen_cst_lookupForm.jsp

I'm 75% sure that your local branch has deleted Bae_facturenEditPage.jsp and the branch you are merging has modified that file.

There is certainly a 25% chance that I'm wrong, but versioning a .OTHER file and marking a contents conflict is exactly what we do when you delete a file and try to merge changes to that file. (We don't have a file to put the changes into anymore, we use .OTHER to make it clear that it is something you need to pay close attention to.)

Revision history for this message
Frits Jalvingh (fjalvingh) wrote :

That the file was deleted and re-added was my initial though also, but I looked through the log and did not see any delete there. I will go and look through it again with a fine toothcomb...

Revision history for this message
Marius Kruger (amanica) wrote : Re: [Bug 405301] Re: Spurious Content Conflict!?

maybe it wasn't committed and you did a merge --force ?!

cd /tmp
bzr init b1
cd b1
echo x > x
bzr add
bzr ci -m x
bzr branch . ../b2
bzr rm x
cd ../b2
echo y >> x
bzr ci -m y
cd ../b1

$ bzr merge ../b2
bzr: ERROR: Working tree "/tmp/b1/" has uncommitted changes (See bzr
status).
$ bzr merge --force ../b2
+N x.OTHER
Contents conflict in x
1 conflicts encountered.

Revision history for this message
Frits Jalvingh (fjalvingh) wrote :

Ok, you are right. Sorry for the report. The file was deleted and re-added in april this year in the target branch. I was thrown off track because it was merged from that same source many times afterwards and they appearently just accepted the conflict (which must have occured every time) and "solved" it manually (there were some 10 merges changing this file afterwards) without ever thinking that this was strange.

I was thrown off track because I examined the log not from the start (generating it takes > 1 hour) but only from a few merges touching this file before, and that the merge actually changed a /different/ incarnation was not clear (because file IDS are not shown by default).

I fixed it by making a new small change in the source repo to this file and doing the merge (causing the conflict again) and then removing the original file in the target repo and renaming the other back to the original name. I then manually edited back the changes needed in the new branch (and all it's upward offspring).

Again, sorry for the report but thanks for your time!

Revision history for this message
Robert Collins (lifeless) wrote :

 status invalid

Changed in bzr:
status: New → Invalid
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.