[RFC] make -n0 the default for log -or- make annotate and similar commands calculate merged revs

John Arbash Meinel john at arbash-meinel.com
Wed Jun 10 13:35:31 BST 2009


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

John Szakmeister wrote:
> On Wed, Jun 10, 2009 at 7:36 AM, Robert
> Collins<robert.collins at canonical.com> wrote:
> [snip]
>> Currently bzr shows a small fraction of the commits made in the system
>> in log by default - commits that competing systems show - and while I
>> wouldn't go so far as to say I hate it, I think its a poor user
>> experience. Its a poor user experience because it makes having a
>> consistent left hand history *much* more important than it was ever
>> intended to be. At least one of the major poster-child users of bzr have
>> left hand histories that change all the time [making the -n1 behaviour
>> problematic at best [I think they use viz all the time to look at their
>> log which is probably why we haven't had a bug report]]. The 'obvious'
>> command (push) for two people pushing to a single branch, and two people
>> merging cooperatively will end up with unpleasant output in log -n1
>> (because integration commits like 'merged fred' will show up).
> 
> The latter has been a source of frustration between me and several
> other developers.  When the default changed, all I saw was the "Merged
> from parent" style commits, and made log much less useful.  I was
> aware of the change, and some things were debated, so I knew that the
> decision wasn't made willy-nilly.  But it's definitely been a source
> of frustration.  Yeah, -n0 solves the problem.  The thing is, only one
> of us could be considered a power user.  So that means I need to go
> and show everyone how to get at that information.

True, though you can see that message at the end of every log command...
  Use --include-merges or -n0 to see merged revisions.

Personally, I find:
  bzr log --short -r -10..-1 --forward -n1
to be a great way to get an overview of the recent stuff that has been
going on in a branch. It works for

  1) What was just merged to bzr
  2) What was I working on?
etc

Some of that is because we have a project policy preserving the
mainline. Something like "bzr log -n0 --limit" would approximate it,
except a merge can easily have 10s of commits.

I suppose that since I default to viewing a subset (using an alias), I
*know* that when I want to see everything, I need to ask for everything.
(The bzr log | less; / 10.1.1 issue).

(In the end, I don't care what the default for 'bzr log' is, since I'll
always use the above alias and I tried years ago and nobody agreed to
make it the default. I doubt that will change.)

John
=:->
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkovqJMACgkQJdeBCYSNAAPhBACg0b4/v37qEDXARPCbEfRwcot4
44MAnR3HsRShlK2ZYblXtQllQsUF4zoN
=zbp0
-----END PGP SIGNATURE-----



More information about the bazaar mailing list