TC 在 git 项目的名称中包含空格的文件上失败
TC fails on files with empty spaces in name on git project
在 TC 构建过程中,我遇到了这样的问题:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.5.1:prepare (default-cli) on project test-project: An error occurred during the status check process: Exception while executing SCM command. Error while executing command. Error inside systemOut parser: Illegal character in path at index 0: "java/releases/13.4.1/Prod/SomeFile%2013.1.1.docx" -> [Help 1]
这意味着某些东西正在将带有空白 spaces 的文件路径更改为字符一,即 %20。
我们在本地尝试在 maven 中做同样的事情:
mvn -B release:clean release:prepare release:perform -DreleaseNumber=1.1.0 -DBUILD_VERSION=1.1.0.6 -Dsomeuser | tee ~/3.1.0.6.log
它表现良好,在一些随机开发环境中同样如此,在 TC 代理环境中也能正常工作。
另一点:我试过 scm:add 这样的文件,但它禁止这样做。所以我认为就是这样,但是 mvn prepare 运行良好并提交并推回数据。
但是 teamcity build 一次又一次地失败。我们在 TC 结帐后检查了代理上的路径,它不包含任何 %20,而是包含 space。所以结帐它执行没有这样的问题。
我已经用 git 进行了一些实验,它可以很好地执行此类文件,我们没有发现任何问题。
可能是什么问题以及如何解决?会不会是 scm 的问题?
P.S。我们看不到 TC 内部配置,因为没有访问权限,只能通过 Web 界面访问。
您可能需要将 teamcity 中的任何 % 替换为 %%,以便在逻辑上使用 % 符号。所以 %%20 可能对你有用。
我们发现,这是添加文件时的 scm 问题。重命名所有文件后,它工作正常。
另一种方法是添加 -DdryRun 以防止提交和推送更改,并使用相同的命令但使用常见的 git 命令调用 shell 脚本。
如果有人知道另一种方法 - 请发表评论。
对我有帮助的是以下内容(来自https://help.github.com/articles/dealing-with-line-endings/):
Remove every file from Git's index.
git rm --cached -r .
Rewrite the Git index to pick up all the new line endings.
git reset --hard
hth
在 TC 构建过程中,我遇到了这样的问题:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.5.1:prepare (default-cli) on project test-project: An error occurred during the status check process: Exception while executing SCM command. Error while executing command. Error inside systemOut parser: Illegal character in path at index 0: "java/releases/13.4.1/Prod/SomeFile%2013.1.1.docx" -> [Help 1]
这意味着某些东西正在将带有空白 spaces 的文件路径更改为字符一,即 %20。
我们在本地尝试在 maven 中做同样的事情:
mvn -B release:clean release:prepare release:perform -DreleaseNumber=1.1.0 -DBUILD_VERSION=1.1.0.6 -Dsomeuser | tee ~/3.1.0.6.log
它表现良好,在一些随机开发环境中同样如此,在 TC 代理环境中也能正常工作。
另一点:我试过 scm:add 这样的文件,但它禁止这样做。所以我认为就是这样,但是 mvn prepare 运行良好并提交并推回数据。
但是 teamcity build 一次又一次地失败。我们在 TC 结帐后检查了代理上的路径,它不包含任何 %20,而是包含 space。所以结帐它执行没有这样的问题。
我已经用 git 进行了一些实验,它可以很好地执行此类文件,我们没有发现任何问题。
可能是什么问题以及如何解决?会不会是 scm 的问题?
P.S。我们看不到 TC 内部配置,因为没有访问权限,只能通过 Web 界面访问。
您可能需要将 teamcity 中的任何 % 替换为 %%,以便在逻辑上使用 % 符号。所以 %%20 可能对你有用。
我们发现,这是添加文件时的 scm 问题。重命名所有文件后,它工作正常。
另一种方法是添加 -DdryRun 以防止提交和推送更改,并使用相同的命令但使用常见的 git 命令调用 shell 脚本。
如果有人知道另一种方法 - 请发表评论。
对我有帮助的是以下内容(来自https://help.github.com/articles/dealing-with-line-endings/):
Remove every file from Git's index.
git rm --cached -r .
Rewrite the Git index to pick up all the new line endings.
git reset --hard
hth