Q: How do I configure working dir for patch creation using Mercurial?

Here is the message I get (with proprietary info removed):

Patch is broken, can be found in file: F:\Agent\temp\cache\temp2623056066648981161patch_11

...

Failed to build patch for build #11 {build id=11}, VCS root: mercurial: http://codeserver/hg/1.2 {id=1}, due to error: 'cmd /c hg update -C default' command failed. stderr: abort: C:\Program Files\Apache Software Foundation\Tomcat 6.0\temp\mercurial91394062173208465222de4b6aad002\rep\really_long_path: The filename or extension is too long
-----

I am running TC 6.0.3 in a stand alone Tomcat 6.0.32 app server.

I was able to configure the agent's temp path. It's still too long, but it may work.

Here is my C:\Program Files\Apache Software Foundation\Tomcat 6.0\conf\Catalina\localhost\ROOT.xml:
<?xml version="1.0" encoding="UTF-8"?>
<Context

docBase="f:/TeamCity/webapps/ROOT/"
path="/"
workDir="f:/Temp"

/>

-------

The workDir parameter parameter seems to be ignored.

Any help configuring the build server and agent's mercurial working directories would be appreciated.

Thanks,

Peter Stephens


1 comment
Comment actions Permalink

Hi Peter

Temp and work directories have different purpose, so this is intended behavior.
I see two options

  1. Change location for Tomcat's temp folder
    In Tomcat service properties (tomcat6w.exe //ES//<InstanceName>) | Java tab | Java options | -Djava.io.tmpdir
  2. Switch to agent-side checkout
    Then the localtion can be configured in buildAgent.properties file


I've filed TW-16903 request, to handle such situations better in future versions.

Michael

0

Please sign in to leave a comment.