Re: [PATCH 0/1] Preserve topological ordering after merges
On 1/8/2020 7:50 AM, Sergey Rudyshin wrote:
> let me explain in more detail why I thought it would make sense to stop using "--topo-order".
> in case if a user specifies a single commit, like this
> git rev-list E
> with a new algorithm the options "--date-order", "--author-date-order", "--topo-order" do not change the ordering. Because there is only one way to sort any git graph with a single tip.
This is false, unless your history is always linear (no merge commits).
> in case if a user specifies multiple tips, like this
> git rev-list --topo-order C B ^A
> current version of git displays commits ordered by commit timestamp
> which does not seem like a topological ordering.
Are you talking about which of C and B are shown first? They are shown in an order based on your input. If C and B are independent (neither can reach the other), then they will swap order if you write "git rev-list --topo-order B C ^A".
> so I decided to change the documentation so that "--topo-order" and "--date-order" be the same. And since "--topo-order" does not add anything new decided to deprecate it.
Based on this sentence, it is clear that you do not understand the difference between --topo-order and --date-order. Please take time to examine the output difference for the Git repo with the following commands:
git log --oneline --graph --topo-order
git log --oneline --graph --date-order
> Regarding the failed test
> I'll try to find the reason but what puzzles me is why those tests (t4202, t4215 and t6012) succeeded on all other platforms (linux32, osx-clang, windows, ...) and only failed on linux-gcc.
> In my machine those tests do not fail either (gcc (Ubuntu 5.4.0-6ubuntu1~16.04.12) 5.4.0 20160609)
Try running the tests with GIT_TEST_COMMIT_GRAPH=1.
-Stolee