[RFC] proposed changes to log UI

Ian Clatworthy ian.clatworthy at internode.on.net
Wed Jan 14 10:22:02 GMT 2009


John Arbash Meinel wrote:

> Certainly, IMO, 'bzr log -r XXX' should show a single revision, while
> "bzr log -c XXX" should show the revision and what other revisions it
> merged. I'm not sure if we could get away with switching them or not.
> 
> (A lot of the sys admins seem to use 'bzr diff -c' a lot, and want to
> have a compatible 'bzr log -c'. It may just be that -c didn't work for
> 'bzr log', and they don't care if it shows extra revisions or not.)

That's my guess - users now expect bzr log -cX to work. I think it
ought to behave exactly as log -rX does though.

After more reflection, I'm warming to the current approach, i.e.
the decision to show merged revisions ought to be a function of
the log formatter selected. The problem is that we don't have a
standard formatter than produces long-like output for just
mainline revisions. I'd like to add one along those lines.
My suggested name is "linear". (It ought to perform identically
to "short".)

>   a) I like --short a lot.
>   b) I feel like we should be splitting out the differences from --short
>      and --long
>      So you have a way to say "bzr log --only-mainline
>      --verbose-revisions", which gives the --short revisions, but the
>      --long formatting.

I think --linear achieves that. It may even make a better default
than --short.

>> 3. If a revision range is given and the log format only
>>    supports mainline revisions, I don't want to check that
>>    the revisions are on the mainline by default. This check
>>    is O(history) and, IMO, ought to only be done if a
>>    new option (--strict say) is specified.
> 
> I guess I don't quite understand what you mean by this one. If I do:
> 
> bzr log --short -r -10..revid:XXXX
> 
> What should be displayed? How do we decide the revision numbers? Do we
> just start walking the left-hand history of XXXX or do we walk the
> history of branch.last_revision() and expect to run into XXXX?

Right now, I'm walking the mainline and complaining if I don't
run into XXXX. If I find XXXX, I walk back to the beginning and
complain if I don't run into the lower limit.

Conceptually though, I think your first suggestion is better:
start at XXXX and walk the left-hand history, expecting to find
the lower limit. After all, "log -r1.2.1..1.2.11" ought to
be handled by all formatters IMO, not just those supporting
the display of merge revisions.

Ian C.



More information about the bazaar mailing list