2

如GitPlugin Wiki中所述,我们使用 GitPlugin 安装了 Jenkins 来拉取分支并合并它们。但是,当合并失败时,没有输出说明失败的原因,只是没有完全合并:

<snip>
Seen branch in repository origin/HEAD
Seen branch in repository origin/labs/intro
Seen branch in repository origin/master
Commencing build of Revision 620c4373792b8cef6a3992b6676892479ed379b0 (origin/REV_4/REV-1234)
Merging Revision 620c4373792b8cef6a3992b6676892479ed379b0 (origin/REV_4/REV-1234) onto REV_4/integration
ERROR: Branch not suitable for integration as it does not merge cleanly
[JaCoCo plugin] Collecting JaCoCo coverage data...
<snip>

我不能在本地复制这种行为。它与 Git 行尾设置有关。

谁能告诉我如何从 Jenkins 和 GitPlugin 中提取更多信息,以便我知道哪些文件失败了?

4

2 回答 2

1

可能没有办法,因为有一个关于它的公开问题,而且通过查看源代码,至少我没有看到任何地方记录的异常详细信息。他们迷路了。

您可以做的一些选择:

  • 自己合并分支,看看是否有帮助
  • 制作插件的一个分支,将信息保存在某处或输出它或
  • 使用远程调试器运行 Jenkins,在代码中的那个点有一个断点。

这里有使用调试器运行 Jenkins 的说明:

将以下内容添加到 JENKINS_JAVA_OPTIONS 变量(用空格分隔,用引号括起来):

-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5678

所以整行可能看起来像:

JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true -DXX:MaxPermSize=512m -DXX:+HeapDumpOnOutOfMemoryError -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=0"

如果需要,显然将端口从 5678 更改为其他端口。

于 2013-06-18T07:36:59.213 回答
0

git merge 后出现文件冲突时,git Plugin 提示此错误。尝试在本地合并两个分支,您可以看到。

可以在这里使用的一种解决方案是使用我们/他们的策略执行 git merge

    git checkout master
    git merge -X ours REV-1234

这将允许您为冲突文件保留当前的分支文件修订。

    git checkout master
    git merge -X theirs REV-1234

这将允许您为冲突文件保留远程分支文件修订。

于 2014-05-27T13:57:36.233 回答