Re: 'git rev-list' commit ordering issue
From: Clement Moyroud <hidden>
Date: 2025-02-28 16:05:57
On Fri, Feb 28, 2025 at 2:59 AM Phillip Wood [off-list ref] wrote:
Hi Clement On 26/02/2025 22:30, Clement Moyroud wrote:quoted
On Wed, Feb 26, 2025 at 10:58 AM D. Ben Knoble [off-list ref] wrote:>quoted
quoted
Is `--topo-order` of no help here?Unfortunately no, because it'll look at the ancestors. I get more commits (400k+ extra commits in my real world case) than I have on stdin: $ git log -1 --pretty=%H 2025.2 | git rev-list --stdin --topo-order --count 417776This seems to have lost "--no-walk". ... | git rev-list --stdin --topo-order --no-walk should list only the commits passed on stdin in topographic order I think. Best Wishes Phillip
Hi Philip, I wish that were the case :) Per the docs: | If the argument unsorted is given, the commits are shown in the order they | were given on the command line. Otherwise (if sorted or no argument was | given), the commits are shown in reverse chronological order by commit time. As soon as you specify --no-walk, topological ordering is disabled. I _think_ it's because it will instruct `rev-list` not to look at the ancestors. It looks like a new in-between option is needed, where topological ordering is used when the dates match. Cheers, Clement
quoted
-- Clementquoted
quoted
Below is the system info gathered by `git bugreport`. Take care, Clement [System Info] git version: git version 2.48.1 cpu: x86_64 no commit associated with this build sizeof-long: 8 sizeof-size_t: 8 shell-path: /bin/sh libcurl: 7.87.0 OpenSSL: OpenSSL 1.0.1e-fips 11 Feb 2013 zlib: 1.2.3 uname: Linux 4.18.0-553.33.1.el8_10.x86_64 #1 SMP Thu Dec 19 14:28:01 UTC 2024 x86_64 compiler info: gnuc: 6.2 libc info: glibc: 2.28 $SHELL (typically, interactive shell): /bin/zsh [Enabled Hooks]-- D. Ben Knoble