我创建了两个标记,并将Tag1保持为Source
,将Tag2保持为Target
进行比较,然后输出为没有要比较的内容。
您需要使用不同的分支名称才能获得有效的比较。
如果我将标签互换,即Tag2为Source
,Tag1为Target
,则diff
会正确显示。当更新版本位于diff
Target
未显示?
答案 0 :(得分:2)
这已在gitlab-ce issue 37889中看到,但这可能不是一个错误。
每个项目的比较页面允许输入两个SHA1,但点击比较按钮会返回以下消息:
There isn't anything to compare.
You'll need to use different branch names to get a valid comparison.
但是,从master上的旧提交到
master
本身的比较给出了预期的结果(显示了从旧提交到master
的HEAD的所有提交),因此似乎功能在那里。
使用最新的10.x GitLab版本仍然可以看到这一点。
issue 25162的评论说明了这个问题:
将e1bf40e2与3d0074a6进行比较可以正常工作。但是,颠倒顺序和“没有什么可比较的。”。
这个没关系:
e1bf40e2...3d0074a6这个不合适:
3d0074a6...e1bf40e2
可是:
我不确定这是否是一个错误,但我也不知道GitLab中比较工具的意图是什么。
我假设GitLab正在使用3个点进行2次提交。 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区分提交而不是共同的祖先。
请检查您的差异网址:如果您看到三个点,则会出现错误消息。