“ git log”“ tag:”在存储库中不一致

时间:2018-09-08 10:51:21

标签: git

我有一个使用“ git log --decorate --pretty = oneline”的脚本,并使用“ grep'tag:'”查找标签的结果,该脚本适用于我们的大多数存储库,但是最近看来看到几个新的回购协议将结果返回给脚本,但没有'tag:'

示例:

(HEAD, tag: 1.0.0-DEV, origin/development, development)

VS

(HEAD, 1.0.0-DEV, origin/development, development) 

如果我以同一用户的身份交互运行脚本命令,则不会获得相同的结果,因此我不知为何在几次回购中,脚本会获得不同的结果,而同一用户将以交互方式运行。

关于可能是什么原因的任何想法?

1 个答案:

答案 0 :(得分:0)

我不知道是什么原因导致了该特定问题。 Git版本2.4.x中有一些关于装饰的修复和更改,而2.13.1中有一个更新用于修复log.decorate=no(根本没有遵守),但是这些都不能解释为什么{{ 1}}丢失了,但是标签本身就出来了。

更可能是该问题的出处,是某种i18n问题,但the tag: prefix inserted by log-tree.c is not run through the translation system in the first place(请注意缺少tag:)。

应该能够看到的唯一方式:

_("tag: ")
如果存在 名为(HEAD, 1.0.0-DEV, origin/development, development) 分支 not 名为{{ 1}}。 (如果同时存在,则应该同时看到1.0.0-DEV1.0.0-DEV。)但这应该是一致的:在该特定提交上运行1.0.0-DEV的每个用户都应该看到相同的内容。 / p>

(您当然可以使用tag: 1.0.0-DEV完整显示每个参考,以确保这些存储库确实具有正确的参考集。)