too many conflicts when merging a revision range that includes some cherrypicked merges

Bug #248411 reported by Scott James Remnant (Canonical)
2
Affects Status Importance Assigned to Milestone
Bazaar
Confirmed
Medium
Unassigned

Bug Description

I have two branches:

  lp:upstart - a trunk development branch
  lp:upstart/0.3 - a stable release branch

The stable release branch was branched from trunk in the past.

A handful of cherry picked revisions were merged from trunk to stable (only where they applied cleanly) to make the 0.3.9 release.

The following fails:

  bzr branch lp:upstart/0.3 upstart
  cd upstart
  bzr merge lp:upstart

With a vast number of text conflicts, with what should only be a ChangeLog and NEWS conflict.

Tags: merge
Revision history for this message
Robert Collins (lifeless) wrote : Re: [Bug 248411] [NEW] Bad merge

Scott reported this at my urging: it apparently demonstrates a merge
case that git handles more gracefully. We haven't tried shoving the
content in git and seeing what happens.

-Rob

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

To reproduce this case exactly you will need

<email address hidden>

from lp:upstart and

<email address hidden>

from lp:upstart/0.3

Thanks,

James

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

I don't know the specifics of this case, but I recently cleaned up our weave-merge code, which should handle more involved merging history:
https://code.edge.launchpad.net/~jameinel/bzr/weave_merge

If the complexity was due to cherrypicking, I'm not sure it will work correctly, but you might try that branch and do "bzr merge --weave".

I have the patch submitted for review, hopefully it will land in 1.6.

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

We tried this and it didn't work.

Martin Pool (mbp)
summary: - Bad merge
+ too many conflicts when merging a revision range that includes some
+ cherrypicked merges
Changed in bzr:
importance: Undecided → Medium
status: New → Confirmed
Vincent Ladeuil (vila)
tags: added: merge
Revision history for this message
Per Johansson (per.j) wrote :

I didn't check this specific example but I think some spurious conflicts could be avoided if cherrypicking recorded the same fileid for files added in those revision. As it is now when the branches are merged normally they'll be considered different files and thus conflicting.

Revision history for this message
Per Johansson (per.j) wrote :

Hrm, sorry it already does that. My test case was faulty.

Jelmer Vernooij (jelmer)
tags: added: check-for-breezy
Jelmer Vernooij (jelmer)
tags: removed: check-for-breezy
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.