2

    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]

     つまり、何かが空白を含むファイル パスを文字 1、つまり %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 such file を試しましたが、そうすることは禁じられているので、それだけだと思いますが、mvn prepare はうまく機能し、データをコミットしてプッシュバックしました。
    しかし、チームシティのビルドは何度も失敗しています。TC のチェックアウト後にエージェントのパスをチェックアウトしましたが、%20 は含まれていませんでしたが、代わりにスペースが含まれていました。だからチェックアウトはそのような問題なく実行されます。
     私は git でいくつかの実験を試みましたが、そのようなファイルを適切に実行し、問題は見られません。

     それは何であり、それを解決する方法は? scmに問題があるのでしょうか?
PS にはアクセス権がないため、TC の内部構成は Web インターフェイス経由でしか確認できません。

4

3 に答える 3

3

私を助けたのは次のことでした(https://help.github.com/articles/dealing-with-line-endings/から):

Git のインデックスからすべてのファイルを削除します。

git rm --cached -r .

Git インデックスを書き直して、すべての新しい行末を取得します。

git reset --hard

h番目

于 2015-11-25T16:35:26.530 に答える
0

% 記号を論理的に使用するには、おそらく teamcity の % を %% に置き換える必要があります。したがって、 %%20 がうまくいくかもしれません。

于 2015-04-07T18:37:16.083 に答える