Gitlab 分支/标签从较低版本到更新版本的比较



我创建了两个标签,并通过将 Tag1 保留为Source和 Tag2 作为Target来比较它们,然后输出为没有什么可比较的。 您需要使用不同的分支名称才能获得有效的比较。

如果我互换标签,即 Tag2 作为Source和 Tag1 作为Target,那么diff会正确显示。为什么在Target更新版本时不显示diff

这在 gitlab-ce 问题 37889 中已经看到,但这可能不是错误。

每个项目的比较页面允许输入两个 SHA1,但单击比较按钮会返回以下消息:

There isn't anything to compare.
You'll need to use different branch names to get a valid comparison.

但是,从 master 上的旧提交与master本身进行比较会给出预期的结果(显示了从旧提交到 HEAD 的所有提交master(,因此功能似乎就在那里。

这在最新的 10.x GitLab 版本中仍然可见。


问题 25162 的评论说明了该问题:

将 e1bf40e2 与 3d0074a6 进行比较按预期工作。但是,颠倒顺序并"没有什么可比较的"。

这个没问题:
e1bf40e2...3D0074A6

这个不行:
3d0074a6...e1BF40E2

但:

我不确定这是否是一个错误,但我也不知道 GitLab 中比较工具的意图应该做什么。

我假设 GitLab 将 2 个提交与 3 个点进行比较。 这 3 个点将告诉 Git 使用共同祖先进行差异。

问题是3d0074a6...e1bf40e2与执行git diff $common-ancestor e1bf40e2相同,其中$common-ancestor是执行git merge-base 3d0074a6 e1bf40e2的结果

,这是e1bf40e2

所以正在发生的事情是,你正在执行git diff e1bf40e2 e1bf40e2这就是为什么没有区别。

我猜你想在没有点的情况下执行git diff 3d0074a6 e1bf40e2,这将告诉 Git 区分提交而不是共同祖先。

因此,请检查您的差异URL:如果您看到三个点,则会出现错误消息。

相关内容

  • 没有找到相关文章

最新更新