missing doesn't show merged revisions

Bug #233817 reported by Chad Miller
6
Affects Status Importance Assigned to Milestone
Bazaar
Fix Released
High
Vincent Ladeuil

Bug Description

The purpose of "bzr missing" is ostensibly to "show unmerged/unpulled revisions between two branches", but it doesn't show any revisions that come from merges. If the outstanding history is not strictly linear -- i.e., if you've had to run "merge" at all -- then those revisions are omitted from the output.

To repeat:

$ bzr branch vers7 vers7-bug1234
$ cd vers7; hack hack hack; bzr commit; cd ..
$ cd vers7-bug1234; hack hack hack; bzr commit; cd ..; ## REMOVED - rm -r vers7-bug1234
$ cd vers7;
$ bzr merge ../vers7-bug1234; bzr commit;
$ bzr missing --this ../vers8

"bzr missing" will show only the merge revision, not any of the revisions that went into fixing bug1234.

Tags: mysql

Related branches

Revision history for this message
Chad Miller (cmiller) wrote :

That "rm" shouldn't be there, of course. I summarized poorly.

Revision history for this message
Aaron Bentley (abentley) wrote :

This is by design.

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

Well, I'm a bzr developer, and I was surprised to find there wasn't option I could pass to bzr missing to do this. It does seem like a useful feature to me.

Also, I think it is surprising that output differs from "bzr log"'s output in this respect, despite sharing the same log format options.

As a user, you're likely to learn from "bzr log" that the log format you use decides if merged revisions are displayed or not. And "bzr missing" promises the same log formats.

So: I think the current behavour is a fine default. I think it would be good if there were a --show-merged or similar option to enable displaying some information about which revisions were merged (probably omitting or at least distinguishing between merged revisions that aren't missing on the other side).

(And ideally, I think ideally the log formats would be consistent between commands — but that's a bit out of scope for this bug.)

Revision history for this message
Matthew Fuller (fullermd) wrote : Re: [Bug 233817] Re: "missing" traverses only left edge of graph

On Thu, May 22, 2008 at 04:17:59AM -0000 I heard the voice of
Andrew Bennetts, and lo! it spake thus:
>
> (And ideally, I think ideally the log formats would be consistent
> between commands — but that's a bit out of scope for this bug.)

https://lists.ubuntu.com/archives/bazaar/2008q2/041074.html

--
Matthew Fuller
<email address hidden>

Martin Pool (mbp)
description: updated
Changed in bzr:
importance: Undecided → Wishlist
status: New → Confirmed
Revision history for this message
GuilhemBichot (guilhem-bichot) wrote :

Hit that bug today too. Our idea was to see "what changes I am missing".

Revision history for this message
GuilhemBichot (guilhem-bichot) wrote :

for example, "bzr missing --long" seems to be identical to "bzr missing" (same output), i.e. --long has no effect though it's mentioned in "bzr help missing". "bzr missing --long" could be made to display merged revisions.

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

Actually, it overrides another setting. --long is just the default.

So doing 'bzr missing --short --long' will take 'long'. Mostly this is useful for aliases. (You can alias

missing = missing --short

And then when you want, you can still get --long.)

My personal thoughts...

I think by default showing just the mainlines is fine, though for 'bzr log' that only happens with --short or --line (there is no way to say only show mainlines but show the --long form.) I would be fine with a flag to show the full missing set. I would personally be happy with a way to tell log to show the 'long' form with only the mainline revisions as well.

Revision history for this message
Martin Pool (mbp) wrote : Re: [Bug 233817] Re: missing doesn't show merged revisions

I wish cmd_missing was unified much more with other commands, both in
ui and implementation. The main uses seem to be

 "have i finished with this branch?"
 "what still needs to be merged in?"
 "what will I get by pulling"

It could reasonably live in log, or as a 'preview' option on push/pull/merge.

Revision history for this message
Sergey Petrunia (sergefp) wrote :

I've hit this today. I needed to merge two MySQL branches which has been merged in the past but have diverged since then. I'd really like to see what changes have been made to both trees but I can only see the merge changesets which give no idea what I'm about to merge.

Martin Pool (mbp)
Changed in bzr:
importance: Wishlist → High
Vincent Ladeuil (vila)
Changed in bzr:
assignee: nobody → vila
Vincent Ladeuil (vila)
Changed in bzr:
status: Confirmed → Fix Committed
Vincent Ladeuil (vila)
Changed in bzr:
milestone: none → 1.7
status: Fix Committed → Fix Released
John A Meinel (jameinel)
Changed in bzr:
milestone: 1.7 → 1.8
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.