Re: [PATCH] rev-list docs: clarify --topo-order description
- From
Thomas Rast <trast@student.ethz.ch>
- Date
- Aug 14, 2012, 08:45 UTC
- Message-ID
- <877gt16ewe.fsf@thomas.inf.ethz.ch>
- In-Reply-To
- <7vsjbqbfhm.fsf@alter.siamese.dyndns.org>
Junio C Hamano <gitster@pobox.com> writes:
Show 8 quoted lines
> --topo-order:: > - > - This option makes them appear in topological order (i.e. > - descendant commits are shown before their parents). > + This option makes them appear in topological order. Even > + without this option, descendant commits are shown before > + their parents, but this tries to avoid showing commits on > + multiple lines of history intermixed.
I don't think that is true in general. Without any -order options, we process commits in date order, which *usually* means topological order, but not always. You can easily verify this:
$ git init $ date Tue Aug 14 10:39:49 CEST 2012 $ echo initial >file $ git add file $ GIT_COMMITTER_DATE="Tue Aug 14 11:39:49 2012" git commit $ echo foo >file $ git commit -mfoo file $ git checkout -bside HEAD^ $ echo bar >file $ git commit -mbar file $ git log --all --oneline 8c71325 bar e5072d7 initial 1be702c foo
So the --topo-order switch *ensures* that we process commits in topological order even in the face of skewed clocks.
I suspect that
> + their parents, but this tries to avoid showing commits on > + multiple lines of history intermixed.
is just a fortunate side effect of the topological sort.
--
Thomas Rast
trast@{inf,student}.ethz.ch