-
Bug
-
Resolution: Won't Fix
-
Blocker
-
None
-
Windows Server 2008 R2 Standard
CVS plugin version 1.6
Tortoise CVS
We have a lot of legacy projects that are stored in CVS. We use Windows in house and SSPI to authenticate. I am almost able to get a working setup with Jenkins but I have one missing piece - checking out from cvs.
Conceptually our setup:
CVS Module structure:
/ThirdParty/...
/Applications/...
/Libraries/lib1/
/Libraries/lib2/
I cannot use the current CVS plugin because it doesn't support SSPI, so I downgraded to version 1.6. With this version I use the legacy mode to checkout, because I need the directory structure to stay intact. This works and everything checks out, but then it appears to error looking for the changes. There is no CVS folder created at the root of the project structure and that's where it executes the command, so it dies not finding any changes.
Console log:
Building in workspace D:\bin\Jenkins\web.subject [web.subject] $ cvs -Q -z3 -d :sspi:vsbuild:/sw_development co -P -D "Wednesday, June 26, 2013 8:01:43 PM UTC" Web.SubjectAssessmentForm $ computing changelog cvs log: in directory .: cvs [log aborted]: there is no version here; do 'cvs checkout' first ERROR: cvs exited with error code 1 Command line was [Executing 'cvs' with arguments: '-d:sspi:vsbuild:/sw_development' 'log' '-S' '-d' '>=2013-06-25' 'Web.SubjectAssessmentForm' The ' characters around the executable and arguments are not part of the command. ] in D:\bin\Jenkins\web.subject Input text: START==>null<==END Working directory is D:\bin\Jenkins\web.subject cvs exited with error code 1 Command line was [Executing 'cvs' with arguments: '-d:sspi:vsbuild:/sw_development' 'log' '-S' '-d' '>=2013-06-25' 'Web.SubjectAssessmentForm' The ' characters around the executable and arguments are not part of the command. ] in D:\bin\Jenkins\web.subject Input text: START==>null<==END at hudson.org.apache.tools.ant.taskdefs.AbstractCvsTask.runCommand(AbstractCvsTask.java:387) at hudson.org.apache.tools.ant.taskdefs.AbstractCvsTask.execute(AbstractCvsTask.java:457) at hudson.org.apache.tools.ant.taskdefs.cvslib.ChangeLogTask.execute(ChangeLogTask.java:293) at hudson.scm.CVSSCM$4.invoke(CVSSCM.java:967) at hudson.scm.CVSSCM$4.invoke(CVSSCM.java:887) at hudson.FilePath.act(FilePath.java:905) at hudson.FilePath.act(FilePath.java:878) at hudson.scm.CVSSCM.calcChangeLog(CVSSCM.java:887) at hudson.scm.CVSSCM.checkout(CVSSCM.java:429) at hudson.model.AbstractProject.checkout(AbstractProject.java:1369) at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:676) at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88) at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:581) at hudson.model.Run.execute(Run.java:1593) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46) at hudson.model.ResourceController.execute(ResourceController.java:88) at hudson.model.Executor.run(Executor.java:242) Finished: FAILURE
- is related to
-
JENKINS-18330 Support :ext: using external shell like Netbeans instead of only internal SSH
-
- Open
-
@Scott,
This may be specific to my project, but I'm using a custom workspace for my project (E:\Work\Jenkins\<ModuleName>) and have left the "Legacy mode" checkbox unchecked and this seems to work for me.
@Michael
You mention branching 1.6 and applying retrospective changes but there is another option.
The reason both Scott and I have been forced into messing around with version 1.6 of the plug-in is described in https://issues.jenkins-ci.org/browse/JENKINS-18330; basically the current version doesn't support :sspi:, and doesn't provide a mechanism to use an external program to implement the :ext: protocol in the way that Netbeans itself does. It seems to only support :ext: using the built-in facilities (SSH) of the Netbeans-like client.
A better option for me (and I suspect Scott and the few others who've been struggling with this issue on the Jenkins forum) would be to modify the current CVS plug-in to allow an option to use either the built-in facilities or an external program. Given that 1.6 forced the use of an external program I would assume that, once the output from the CVS commands (either from within the plug-in or from the external program) is captured then the processing would be fairly common.
I imagine this would be a much simpler option than branching 1.6 and having separate versions of the plug-in.
Does this sound feasible?
John