From: Thomas Rast Date: Tue, 14 Aug 2012 08:45:05 GMT Subject: Re: [PATCH] rev-list docs: clarify --topo-order description Message-ID: <877gt16ewe.fsf@thomas.inf.ethz.ch> In-Reply-To: <7vsjbqbfhm.fsf@alter.siamese.dyndns.org> Junio C Hamano 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