-
Bug
-
Resolution: Won't Fix
-
Critical
-
None
-
Platform: Other, OS: Linux
The perforce plugin 1.0.5 and previous versions fail to setup the client spec correctly and hence cannot
sync/checkout the source code.
The workspace object retrieved in the "checkout" method is completely un-initialised:
Workspace p4workspace = getDepot().getWorkspaces().getWorkspace(p4Client);
Here the exception output:
Performing sync with Perforce for: //depot/products/dynamo/...
Changing P4 Client Root to: /opt/hudson/data/jobs/dynamo/workspace/
Changing P4 Client View to: //depot/products/dynamo/... ///...
...
java.io.IOException: Unable to communicate with perforce. Error in client specification. Error detected
at line 7. Null directory (//) not allowed in '///...'.
For Command: p4 -s client -i
With Data:
===================
Client:
Description:
Root: /opt/hudson/data/jobs/dynamo/workspace/
Options:
LineEnd:
View:
//depot/products/dynamo/... ///...
===================
at hudson.plugins.perforce.PerforceSCM.checkout(PerforceSCM.java:260)
at hudson.model.AbstractProject.checkout(AbstractProject.java:541)
at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:223)
at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:189)
at hudson.model.Run.run(Run.java:649)
at hudson.model.Build.run(Build.java:102)
at hudson.model.ResourceController.execute(ResourceController.java:70)
at hudson.model.Executor.run(Executor.java:64)
The perforce client binary displays this version (just in case):
Perforce - The Fast Software Configuration Management System.
Copyright 1995, 2002 Perforce Software. All rights reserved.
Rev. P4/LINUX24X86/2003.1/46260 (2003/07/03).
I currently have a workaround in place where i set the values from the configuration in PerforceSCM if
they are unset:
if ( p4workspace == null || p4workspace.length < 1) {
p4workspace.setName(p4Client);
...
}
Cheers
Eike