[Merge] lp:~amanica/bzr/log_returns_too_much into lp:bzr
martitzam at gmail.com
Fri Jul 10 07:20:13 BST 2009
On Thu, Jul 9, 2009 at 10:32 PM, Robert Collins
<robertc at robertcollins.net>wrote:
> On Fri, 2009-07-10 at 00:20 -0500, fullermd at over-yonder.net wrote:
> > [ Shunted to list ]
> > On Thu, Jul 09, 2009 at 02:06:10PM -0000 I heard the voice of
> > John A Meinel, and lo! it spake thus:
> > >
> > > 3) "bzr log -r 9..11" should *not* show the revision for 9, but show
> > > everything that was merged into 10 and 11.
> > >
> > > Basically, we would unify it with similar commands (like diff) which
> > > for "-r X..Y" mean "show what is in Y that is not in X".
> > I wouldn't care for that, because they're _not_ similar commands.
> Citation needed!
> log -v shows status between revisions; I think its entirely reasonable
> to see the same the same thing in log and diff. I get asked about this
> all the time over beer by friends and colleagues.
Ok first let me say that I think either way is fine because it will be
clearly documented in plain sight. So what I am about to say next should
not be interpreted as amusement.
I have heard it said that one of the defining characteristics of a language
is how prepositions are used. We take differences *between* things and logs
*of* things. In english and spanish to me this means that differences show
spaces between things and logs show the things themselves. What we have is
a question of how to map prepositional semantics onto the classic counting
problem of differences, i.e. do we include zero, one or both endpoints in a
range? Although any definition is valid, one may be more intuitively
related to use cases than another. I happen to think -- admittedly biased
by common language -- that the semantics of log and diff are different and
that consistency of syntax *with* use-cases is therefore more important than
consistecy of syntax *across* use-cases. There I go using prepositions
Let us be at least semi-quantitative for a moment. Consider the limiting
cases of empty intervals.
I think most of us would agree that
bzr diff -rX..X
should always return the empty set. What then should
bzr log -rX..X
return? If I understand what is proposed, bzr log -rX..X would
(paraphrasing from John's email without meaning to single him out) "not show
revision X but would show revision X." If we accept axiomatic set theory,
then the only set for which a statment of that form can be true is the empty
set. Ergo X must be the empty set for all X under whch bzr log -rX..X is
accepted as a valid syntax. So if we reject this as unpalatable nonsense,
then we must require bzr to respond to bzr log -rX..X with an error for all
X. This seems like an awfully high sematic price to pay for the (debatable
in my opinion) benefit of syntactic consistency.
For the record, the friends I hang out with these days with are neither
mathematicians nor Zen masters and never ask about these things. So
whatever you guys decide will be fine with us. :)
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the bazaar