Prerequisites:
QB server and User agent are installed on the same PC
QB has wo configurations:
root and root/Want
root has default config
Want config has:
1. Repository - Subversion - Proof build support enabled
Working copies "c:\Program Files\Want"
proof build condition "if build triggered manually"
2. Two steps: checkout and build
Root config has workspace path - "Use configuration name.."
Source code checked out to "c:\Program Files\Want"
Steps to reproduce the bug
1. In advanced settings of "Want" change workspace path from "Use configuration name.." to
"Use specified workspace directory" and set path to "e:\Data\QB\workspace\Want"
2. Change some files in working directory (c:\Program Files\Want)
3. Try to build config
4. Build fails with error
17:24:36,750 [
collect_local_change@zappedws:8821] DEBUG - Local change:
17:24:36,750 [
collect_local_change@zappedws:8821] DEBUG - ***** MODIFY: /Delphi/trunk/Want/src/wantver.res
17:24:36,750 [
collect_local_change@zappedws:8821] DEBUG - ***** MODIFY: /Delphi/trunk/Want/release.ini
17:24:37,032 [
collect_local_change@zappedws:8821] INFO - Workspace mutex released.
17:24:37,032 [
collect_local_change@zappedws:8821] DEBUG - Job finished.
17:24:37,375 [master>checkout
WANT@zappedws:8810] INFO - Applying local change for repository 'SVN'...
17:24:37,375 [master>checkout
WANT@zappedws:8810] INFO - Executing post-execute script...
17:24:37,375 [master>checkout
WANT@zappedws:8810] ERROR - Step 'checkout WANT' is failed.
java.lang.RuntimeException: java.io.FileNotFoundException: File 'e:\Data\QB\workspace\Want\local_change\SVN\info' does not exist
at com.pmease.quickbuild.util.FileUtils.readFileAsString(FileUtils.java:149)
at com.pmease.quickbuild.util.BeanUtils.readFile(BeanUtils.java:372)
at com.pmease.quickbuild.util.BeanUtils.readFile(BeanUtils.java:377)
at com.pmease.quickbuild.plugin.basis.checkout.CheckoutStep.applyLocalChange(CheckoutStep.java:145)
at com.pmease.quickbuild.plugin.basis.checkout.CheckoutStep.run(CheckoutStep.java:129)
at com.pmease.quickbuild.plugin.basis.checkout.CheckoutStep$$EnhancerByCGLIB$$6587ac87.CGLIB$run$0(<generated>)
at com.pmease.quickbuild.plugin.basis.checkout.CheckoutStep$$EnhancerByCGLIB$$6587ac87$$FastClassByCGLIB$$8971bb1f.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:215)
at com.pmease.quickbuild.DefaultScriptEngine$Interpolator.intercept(DefaultScriptEngine.java:271)
at com.pmease.quickbuild.plugin.basis.checkout.CheckoutStep$$EnhancerByCGLIB$$6587ac87.run(<generated>)
at com.pmease.quickbuild.stepsupport.Step.execute(Step.java:449)
at com.pmease.quickbuild.stepsupport.StepJob.execute(StepJob.java:34)
at com.pmease.quickbuild.grid.GridJob.run(GridJob.java:120)
at java.lang.Thread.run(Unknown Source)
Caused by: java.io.FileNotFoundException: File 'e:\Data\QB\workspace\Want\local_change\SVN\info' does not exist
at org.apache.commons.io.FileUtils.openInputStream(FileUtils.java:137)
at org.apache.commons.io.FileUtils.readFileToString(FileUtils.java:1102)
at com.pmease.quickbuild.util.FileUtils.readFileAsString(FileUtils.java:147)
... 13 more
17:24:37,407 [master>checkout
WANT@zappedws:8810] INFO - Workspace mutex released.
17:24:37,407 [master>checkout
WANT@zappedws:8810] DEBUG - Job finished.
After this folder "e:\Data\QB\workspace\Want" has checked out code without local changes
and additional subfolders
local_change\
revert_change\SVN
without files in it
The same bug is observed when root workspace changed from default "Use configuration name..." to specified path (e.g. e:\Data\QB\workspace)
and root/Want config has default "Use configuration name..." workspace path
When the config workspaces are default - all is ok
build log contains
17:20:38,500 [
collect_local_change@zappedws:8821] DEBUG - Local change:
17:20:38,500 [
collect_local_change@zappedws:8821] DEBUG - ***** MODIFY: /Delphi/trunk/Want/src/wantver.res
17:20:38,500 [
collect_local_change@zappedws:8821] DEBUG - ***** MODIFY: /Delphi/trunk/Want/release.ini
17:20:38,829 [
collect_local_change@zappedws:8821] INFO - Workspace mutex released.
17:20:38,829 [
collect_local_change@zappedws:8821] DEBUG - Job finished.
17:20:39,094 [master>checkout
WANT@zappedws:8810] INFO - Applying local change for repository 'SVN'...
17:20:39,157 [master>checkout
WANT@zappedws:8810] DEBUG - Derived revert change:
17:20:39,157 [master>checkout
WANT@zappedws:8810] DEBUG - ***** MODIFY: /Delphi/trunk/Want/src/wantver.res
17:20:39,157 [master>checkout
WANT@zappedws:8810] DEBUG - ***** MODIFY: /Delphi/trunk/Want/release.ini
17:20:39,282 [master>checkout
WANT@zappedws:8810] INFO - Executing post-execute script...
17:20:39,282 [master>checkout
WANT@zappedws:8810] INFO - Step 'checkout WANT' is successful.
17:20:39,329 [master>checkout
WANT@zappedws:8810] INFO - Workspace mutex released.
17:20:39,329 [master>checkout
WANT@zappedws:8810] DEBUG - Job finished.