Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
git日志错误:参数不明确';硕士';_Git_Buildnumber Maven Plugin - Fatal编程技术网

git日志错误:参数不明确';硕士';

git日志错误:参数不明确';硕士';,git,buildnumber-maven-plugin,Git,Buildnumber Maven Plugin,我正在运行一个存储在git repo中的java项目的maven构建。当发布计划在构建服务器上运行(使用竹子)时,它会发出以下git命令: git log -n1 --date-order master 但收到以下错误: fatal: ambiguous argument 'master': unknown revision or path not in the working tree. 当然,我有一个主分支,当我拉下repo并在本地运行命令时,它工作得很好。我的猜测是,构建服务器上有不同

我正在运行一个存储在git repo中的java项目的maven构建。当发布计划在构建服务器上运行(使用竹子)时,它会发出以下git命令:

git log -n1 --date-order master
但收到以下错误:

fatal: ambiguous argument 'master': unknown revision or path not in the working tree.
当然,我有一个主分支,当我拉下repo并在本地运行命令时,它工作得很好。我的猜测是,构建服务器上有不同的配置,但我不知道该寻找什么。我希望你们中的一位git专家会有一些见解

作为参考,这里是我从maven构建中得到的实际错误日志。它发生在buildnumber maven插件执行期间:

build   19-Aug-2015 15:10:28    [INFO] [INFO] --- buildnumber-maven-plugin:1.2:create (default) @ my-rest-project ---
build   19-Aug-2015 15:10:28    [INFO] [INFO] Verifying there are no local modifications ...
build   19-Aug-2015 15:10:28    [INFO] [INFO] Executing: /bin/sh -c cd /usr/local/atlassian/bamboo-home/xml-data/build-dir/MKL-RR-JOB1/target/checkout && git status --porcelain
build   19-Aug-2015 15:10:28    [INFO] [INFO] Working directory: /usr/local/atlassian/bamboo-home/xml-data/build-dir/MKL-RR-JOB1/target/checkout
build   19-Aug-2015 15:10:28    [INFO] [INFO] Executing: /bin/sh -c cd /usr/local/atlassian/bamboo-home/xml-data/build-dir/MKL-RR-JOB1/target/checkout && git log -n1 --date-order master
build   19-Aug-2015 15:10:28    [INFO] [INFO] Working directory: /usr/local/atlassian/bamboo-home/xml-data/build-dir/MKL-RR-JOB1/target/checkout
build   19-Aug-2015 15:10:28    [INFO] [ERROR] Provider message:
build   19-Aug-2015 15:10:28    [INFO] [ERROR] The git-log command failed.
build   19-Aug-2015 15:10:28    [INFO] [ERROR] Command output:
build   19-Aug-2015 15:10:28    [INFO] [ERROR] fatal: ambiguous argument 'master': unknown revision or path not in the working tree.
build   19-Aug-2015 15:10:28    [INFO] Use '--' to separate paths from revisions, like this:
build   19-Aug-2015 15:10:28    [INFO] 'git <command> [<revision>...] -- [<file>...]'
build-19-Aug-2015 15:10:28[INFO][INFO]——buildnumber-maven插件:1.2:create(默认)@myrest项目---
build 19-Aug-2015 15:10:28[信息][信息]验证没有本地修改。。。
build 19-Aug-2015 15:10:28[INFO][INFO]正在执行:/bin/sh-c cd/usr/local/atlassian/bambol home/xml data/build dir/MKL-RR-JOB1/target/checkout&&git status——瓷器
build-19-Aug-2015 15:10:28[INFO][INFO]工作目录:/usr/local/atlassian/bambol home/xml data/build dir/MKL-RR-JOB1/target/checkout
build 19-Aug-2015 15:10:28[INFO][INFO]正在执行:/bin/sh-c cd/usr/local/atlassian/bambol home/xml data/build dir/MKL-RR-JOB1/target/checkout&&git log-n1——日期订单主数据
build-19-Aug-2015 15:10:28[INFO][INFO]工作目录:/usr/local/atlassian/bambol home/xml data/build dir/MKL-RR-JOB1/target/checkout
构建2015年8月19日15:10:28[信息][错误]提供商消息:
build 19-Aug-2015 15:10:28[信息][错误]git日志命令失败。
构建2015年8月19日15:10:28[信息][错误]命令输出:
build 19-Aug-2015 15:10:28[INFO][ERROR]致命:参数“master”不明确:未知修订或路径不在工作树中。
build 19-Aug-2015 15:10:28[INFO]使用“---”将路径与修订分开,如下所示:
build 19-Aug-2015 15:10:28[信息]“git[…]--[…]”

构建服务器可能只是从您的存储库中获取了文件,而不是git存储库。在许多构建服务器中,这是一种非常常见的设置,您可能需要检查是否存在这种情况


许多构建服务器还提供了签出repo的选项。

在运行maven release plugin 2.2及更低版本时,它可以工作

事实证明,当版本插件在2.3-2.5之间时,maven发布插件和maven buildnumber插件之间存在某种冲突(2.5是本文撰写时的最新版本)

我不确定错误的确切原因是什么,但是日志显示发布插件在这些版本中执行了一个额外的git命令,并且不知何故导致buildnumber插件失败,该插件在它之后运行

具体来说,它运行的是
gitlsremotessh://git@reponame.git
并在临时目录中运行它,而不是在所有其他git命令运行的目录中运行。我不确定这是Maven的小故障还是竹篮打水的小故障。无论如何,我现在知道如何解决这个问题了

更新: 在遇到另一个竹/maven-release/git问题,迫使我将maven-release插件升级到2.5之后,我决定,解决所有这些问题的唯一办法是删除buildnumber插件。最终是buildnumber插件导致了这个问题,它对我的工作流程并不重要

致命:参数“master”不明确:未知修订或路径不在工作树中

这似乎是git版本的问题,在CI框上运行的git命令(或包)与
buildnumer maven插件生成的命令不兼容。它在我的Mac电脑上对我起作用

在我们的CI框上修复的是将
doUpdate
更改为
false
。我们已经将
doCheck
设置为
false
,因此现在我们的配置如下所示:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>buildnumber-maven-plugin</artifactId>
    ...
    <configuration>
        <doCheck>false</doCheck>
        <doUpdate>false</doUpdate>  <!-- changed this from true -->
    </configuration>
</plugin>

我可能应该澄清一下,这发生在git回购被撤销并且项目成功构建之后的构建中。在这一点上,构建正在确认它已经拉下来并构建的内容是最新提交给master的内容,因此它可以证明它将要创建的版本与该点上的代码库匹配。这只是一种确保不会发布未推送到主服务器的本地更改的方法。
[INFO] --- buildnumber-maven-plugin:1.4:create (default) @ parent ---
[INFO] Executing: /bin/sh -c cd '/build/parent' && 'git' 'rev-parse' '--verify' 'HEAD'