gpt4 book ai didi

git - 为什么 git-for-each-ref 无法正确排序标签?

转载 作者:太空狗 更新时间:2023-10-29 13:54:16 27 4
gpt4 key购买 nike

当我有一个包含轻量级标签和注释标签的存储库时,git-for-each-ref 似乎只对其中一个集合进行排序。我想修改对 for-each-ref 的调用,以获得对所有标签进行排序并将它们混合在输出中的输出。

例如:

bash-3.2$ git tag | > xargs -I T git log -n 1 --format='%at T' T |> sort -rn | > awk '{print $2}'lwt3at3lwt2at2lwt1at1bash-3.2$ git for-each-ref --sort=-authordate refs/tags | awk '{print $3}'refs/tags/lwt3refs/tags/lwt2refs/tags/lwt1refs/tags/at1refs/tags/at2refs/tags/at3bash-3.2$ git --versiongit version 1.6.6.80.g2df32

使用 -committerdate-taggerdate 生成类似的输出,并且标签永远不会正确排序。当使用 -*authordate-*committerdate 时,排序的组是倒置的,而 -*taggerdate 什么都不排序。

还有其他我不知道的选择吗?这是正确的行为吗?我明白为什么 committerdate 或 taggerdate 只会分别对提交或标签进行排序,但似乎 authordate 应该做我想做的事。

最佳答案

好的,继续验证我在评论中所说的话:

只有带注释的标签才会在存储库中创建一个选项卡对象,其中包含您尝试在此处排序的 taggerdate 字段等。您的标签很可能是轻量级标签,因此不包含此类信息。

对于另一半,committerdate 和 authordate 似乎在标签上对我来说工作正常——它们只是对标签指向的提交进行排序,因为没有关于标签本身何时创建的信息。 (当且仅当您在前面加上 - 时,它们会反转排序)

关于git - 为什么 git-for-each-ref 无法正确排序标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2021599/

27 4 0