Search code examples
gitteamcitymaven-release-pluginmaven-scm

TC fails on files with empty spaces in name on git project


    During TC build I occured with such problem:

[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]

     So that means that something is changing files paths with blank spaces to character one, which is %20.
Whek we locally try to do the same in 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

     It performs well, on some random dev environment the same, on TC agent environment works fine as well.
     Another point: I've tried scm:add such file and it forbids to do so., so I thouth that's it, but mvn prepare worked well and commited and pushed the data back.
    But teamcity build is failing again and again. We've checked out paths on agent after TC checkout and it didn't contain any %20 but space instead. So checkout it performs without such problem.
     I've tried some experiments with git and it performs such files well and we don't see any problems.

     What could it be and how to solve it? Could it be problem with scm?
P.S. We can't see at TC inner configurations, because doesn't have acces, just via web interface.


Solution

  •      We figured out, that's this was scm problem when adding files. After renaming of all files it works fine.
         Another approach is to add -DdryRun preventing to commit and push changes and invoke shell script with same commands but with common git commands.
         If anyone knows another approach - please write a comment.