bzr status indentation of pending merges

Andrew Bennetts andrew at canonical.com
Thu Mar 27 12:06:56 GMT 2008


Ian Clatworthy wrote:
[...]
> > Anyway, *I* now understand what's being displayed here, and why, so I
> > can live with it. But I wonder if this is confusing or potentially
> > confusing to anyone else, especially new users, and if there isn't an
> > easier way to show the same information without confusion.
> > 
> > For example (maybe a bad idea, just illustrating that there are
> > alternatives) add an astrisk on the first one in a sequence , instead
> > of indenting the rest:
> > 
> > pending merges:
> >   * sequence #1 commit #3
> >     sequence #1 commit #2
> >     sequence #1 commit #1
> >   * sequence #2 commit #2
> >     sequence #2 commit #1
> 
> I like this more than our current output. Here's another option:
> 
> pending merges:
>     sequence #1 commit #3
>     sequence #1 commit #2
>     sequence #1 commit #1
>     --
>     sequence #2 commit #2
>     sequence #2 commit #1
> 
> In the common case where the merge only has one sequence, it would then
> display what you and I (at least) expected.
> 
> From an implementation perspective, my guess is that it's an easy change
> to make. The bigger question is whether others agree we ought to make it.

I think we should do something.  It bugs me that the indentation in the status
output doesn't correspond to the indentation of same revisions in "bzr log" (if
I do commit the pending merges).

I'm not instantly sold on either proposed alternative, although I think the "*"
suggestion is perhaps better.  It has the advantage that the starred revisions
are precisely those that will be non-mainline parents of the new revision
generated by a commit.

Or perhaps it would be better to spell out the case of multiple merges more:

pending merges:
  merge 1:
    sequence #1 commit #3
    sequence #1 commit #2
    sequence #1 commit #1
  merge 2:
    sequence #2 commit #2
    sequence #2 commit #1

Or more radically, I'd probably be satisfied with this output by default:

pending merges:
  sequence #1 commit #3
    (and 2 others)
  sequence #2 commit #2
    (and 1 other)
  
I'm thinking here of when I merge a week or two's worth of changes from bzr.dev
into some branch in progress — I usually don't care about the details of the
merges, just a sense of "yes, I merged a bunch of revisions."  I'd also expect a
--verbose switch would give the full listing, like what we see today.  This
proposal would also have the happy effect of making displaying the pending
merges output much cheaper...

-Andrew.




More information about the bazaar mailing list