Re: [PATCH] rev-list docs: clarify --topo-order description
From: Thomas Rast <hidden>
Date: 2016-06-15 22:54:28
Junio C Hamano [off-list ref] writes:
--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