Page MenuHomeSoftware Heritage

Display revisions history in reverse chronological order
Closed, MigratedEdits Locked

Description

The current implementation of the log uses a BFS algorithm to crawl the history, which makes the order in which the revisions are output counter-intuitive.

For instance:

https://archive.softwareheritage.org/browse/origin/git/url/https://github.com/torvalds/linux/visit/2017-11-21T19:37:42/log/

0c86a6b has parents b620fd2 a13e8d4
b620fd2 has parents adb072d db0267e
a13e8d4 has parents b48b1f7 33ddd81

the revisions therefore show in the order:

  • 0c86a6b
  • b620fd2
  • a13e8d4
  • adb072d
  • db0267e
  • b48b1f7
  • 33ddd81

Which is algorithmically correct, and lets us keep a reasonable heuristic to truncate the history ("only go $n levels deep"), but is confusing to users.

A few options are available to fix this issue:

  • Forgoing the graph order completely and just showing the revisions in reverse chronological order (GitHub, GitLab and Phabricator use this approach).
  • Building a "rail track" to show branching and merging (Kallithea and bitbucket use this approach).

Both of those options will require some smarter way to walk the history graph than just a plain stupid BFS.

Event Timeline

olasd triaged this task as Normal priority.Apr 13 2018, 11:40 AM
olasd created this task.

I will go for displaying the revisions in reverse chronological order according to committer date. I will change the task name accordingly.

anlambert renamed this task from Order of revisions in the log view is surprising to Web app: Display revisions history in reverse chronological order.Oct 23 2018, 4:42 PM
anlambert renamed this task from Web app: Display revisions history in reverse chronological order to Display revisions history in reverse chronological order.Oct 23 2018, 4:54 PM