Menu

#48 CVS checkout fails if project name has spaces

1.6.4.0
open
nobody
5
2006-02-07
2006-02-07
icnocop
No

Hello.

I have noticed that if I use a project name with
spaces, the draco server fails to checkout cvs modules.

For example:

<draco>
<builds>
<build>
<name>my project name</name>
...
<cvs>

<cvsroot>:pserver:username@cvs.domain.com:/cvs/root/rep
ository</cvsroot>
<module>module</module>
<password>password</password>
</cvs>
</build>
</builds>
</draco>

Fails with the following information in the log:

2006-02-06 19:20:09 [3788] INFO
Draco.Core.Runtime.BuildRunner - my project name :
Checking module for changes
2006-02-06 19:20:09 [3788] DEBUG
Draco.Core.Util.ProcessRunner - Starting
process "cvs.exe".
Command Details:
"cvs.exe" -
d:pserver:username@cvs.domain.com:/cvs/root/repository
-q login

2006-02-06 19:20:10 [3788] DEBUG
Draco.Core.Util.ProcessRunner - Ending
process "cvs.exe".
2006-02-06 19:20:10 [3788] DEBUG
Draco.Core.Util.ProcessRunner - Starting
process "cvs.exe".
Command Details:
"cvs.exe" -
d:pserver:username@cvs.domain:/cvs/root/repository -q
rlog -N -b -d">2006-01-13T08:46:48-0500" client

2006-02-06 19:20:19 [3788] DEBUG
Draco.Core.Util.ProcessRunner - Ending
process "cvs.exe".
2006-02-06 19:20:19 [3788] INFO
Draco.Core.Runtime.BuildRunner - my project name :
Detected no changes to module
2006-02-06 19:20:19 [3788] INFO
Draco.Core.Runtime.BuildRunner - my project name :
Building module
2006-02-06 19:20:19 [3788] DEBUG
Draco.Core.Util.ProcessRunner - Starting
process "cvs.exe".
Command Details:
"cvs.exe" -
d:pserver:username@cvs.domain:/cvs/root/repository -q
login

2006-02-06 19:20:20 [3788] DEBUG
Draco.Core.Util.ProcessRunner - Ending
process "cvs.exe".
2006-02-06 19:20:20 [3788] DEBUG
Draco.Core.Util.ProcessRunner - Starting
process "cvs.exe".
Command Details:
cd /d "C:\Draco\Build"
"cvs.exe" -
d:pserver:username@cvs.domain:/cvs/root/repository -q
co -P -d my project name-20060113T134648Z module

2006-02-06 19:20:21 [3788] DEBUG
Draco.Core.Util.ProcessRunner - Ending
process "cvs.exe".
2006-02-06 19:20:21 [3788] ERROR
Draco.Core.Runtime.BuildRunner - Failed to process
build 'my project name'. The following exception
occurred:
System.ApplicationException: Process "cvs.exe" error.
Exited with status: Failed.
Command Details:
cd /d "C:\Draco\Build"
"cvs.exe" -
d:pserver:username@cvs.domain:/cvs/root/repository -q
co -P -d my project name-20060113T134648Z module

Exit Code: 1.
Stdout:

Stderr:
cvs server: cannot find module `project' - ignored
cvs server: cannot find module `name-
20060113T134648Z' - ignored

at Draco.Core.Util.ProcessRunner.Run(StartInfo
startInfo, String output)
at Draco.Core.Scc.CvsRepository.GetSource(String
workingDirectory)
at Draco.Core.Runtime.BuildRunner.BuildModule
(BuildResult results)
at Draco.Core.Runtime.BuildRunner.Start(BuildType
buildType)
System.ApplicationException: Process "cvs.exe" error.
Exited with status: Failed.
Command Details:
cd /d "C:\Draco\Build"
"cvs.exe" -
d:pserver:username@cvs.domain:/cvs/root/repository -q
co -P -d my project name-20060113T134648Z module

Exit Code: 1.
Stdout:

Stderr:
cvs server: cannot find module `project' - ignored
cvs server: cannot find module `name-
20060113T134648Z' - ignored

at Draco.Core.Util.ProcessRunner.Run(StartInfo
startInfo, String output)
at Draco.Core.Scc.CvsRepository.GetSource(String
workingDirectory)
at Draco.Core.Runtime.BuildRunner.BuildModule
(BuildResult results)
at Draco.Core.Runtime.BuildRunner.Start(BuildType
buildType)
2006-02-06 19:20:21 [3788] INFO
Draco.Core.Notify.EmailNotifier - my project name :
Sending build results email to: me@domain.com

I have noticed that the bug exists in the following
file:
draco-1.6.4-src\draco\draco.core\scc\CvsRepository.cs
line 154

string command = "co -P -d " + Path.GetFileName
(workingDirectory);

should be:

string command = "co -P -d \"" + Path.GetFileName
(workingDirectory) + "\"";

Discussion


Log in to post a comment.