Issue with Hudson/Jenkins pulling from a CVS repo

2.4k Views Asked by At

I am trying to use Hudson to do CI on a CVS repository but I receive the following error when I try to run the build:

Started by user admin [Pilot1] $ "C:\Program Files (x86)\CVS Suite\CVSNT\cvs.exe" -Q -z3 -d :sserver:login:_server:/CVSRepo co -P -d workspace -D "Thursday, March 3, 2011 2:20:08 PM UTC" ITitC/

cvs checkout: in directory .:

cvs checkout: cannot open CVS/Entries for reading: No such file or directory java.io.IOException: No such directory exists. Did you specify the correct branch? Perhaps you specified a tag: c:\ path\workspace

at hudson.scm.CVSSCM.archive(CVSSCM.java:474) at hudson.scm.CVSSCM.access$100(CVSSCM.java:123) at hudson.scm.CVSSCM$1.invoke(CVSSCM.java:381) at hudson.scm.CVSSCM$1.invoke(CVSSCM.java:374) at hudson.FilePath.act(FilePath.java:753)

I am able to successfully do an update if I remove the "ITitC" (the module) at the end of the command and run it directly through the cmd prompt. I was also able to quickly create a folder with that name inside of the "workspace" directory at the start of the Hudson build but it is deleted with each new build.

Is there a way I can force Hudson or CVSNT to create folders as needed either before each build or by default? Is this a problem with CVSNT? I'm not too attached to CVSNT and am willing to replace it with a better option.

2

There are 2 best solutions below

0
On

We encountered same issue wit CVS 1.11.xx and were not able to solve it. In result we moved to CVS 1.12.xx and Hudson works fine. Seems this issue is specific to some CVS server builds and has not relation to CVS client.

0
On

I encountered a similar issue

[workspace] $ cvs.exe -Q -z3 -d :pserver:user@server01:/cvsrepo/projectrepo co -P -N -d . -D "Thursday, June 13, 2013 9:24:00 PM UTC" Module1 Module2
cvs.exe checkout: cannot open CVS/Entries for reading: No such file or directory

With only one module specified, the checkout works and the contents of the module are directly beneath the workspace folder created by Hudson. (there is no Module1 folder created)

For multiple modules, the checkout only works if a directory name is specified in the -d. Using the default Hudson specified . is when the error occurs.

[workspace] $ cvs.exe -Q -z3 -d :pserver:user@server01:/cvsrepo/projectrepo co -P -N -d customDir -D "Thursday, June 13, 2013 9:53:46 PM UTC" Module1 Module2
$ computing changelog
Finished: SUCCESS

Specifying the customDir creates a customDir folder beneath workspace with Module1 and Module2 folders below it.

This behavior happens in the command line as well as inside Hudson so it must be a feature of CVS.