Re: [PATCH v2] rev-list docs: clarify --topo-order description
- From
Michael Haggerty <mhagger@alum.mit.edu>
- Date
- Aug 16, 2012, 10:01 UTC
- Message-ID
- <502CC4E7.5060508@alum.mit.edu>
- In-Reply-To
- <87pq6rw77l.fsf@thomas.inf.ethz.ch>
On 08/16/2012 10:51 AM, Thomas Rast wrote:
Show 8 quoted lines
> [...] > is misleading. I suppose the real problem is that the "true" ordering > is completely obvious as the one ordering that does not require > preprocessing, but ugly to specify in words. Perhaps we can bikeshed a > little? How about > > By default, commits are shown in an order that coincides with > `--date-order` on well-behaved history, but is faster to compute.
Maybe the problem is not the description of the options, but the options themselves. Why does the behavior default to some mysterious order that we don't even want to document? Only for the sake of computational efficiency. This is the tail wagging the dog.
Why not turn the behavior on its head:
* Change the default behavior to be something well-defined, easy to document, and convenient for humans, such as "topological order with ties broken by timestamp" or "approximate timestamp order, but respecting dependencies".
* Add a new option, --arbitrary-order, that explicitly chooses efficiency instead of a defined order.
That way the easiest thing to type is also the most convenient, whereas when you care about efficiency and *don't* care about order (i.e., mainly in scripts) you can explicitly request the high-performance option.
Michael
-- Michael Haggerty mhagger@alum.mit.edu http://softwareswirl.blogspot.com/