CVS checkout with :scm:cvs:ext: url fails
-----------------------------------------
Key: CONTINUUM-571
URL: http://jira.codehaus.org/browse/CONTINUUM-571
Project: Continuum
Type: Bug
Components: Core system
Versions: 1.0.2
Environment: Linux Suse 9.3
Reporter: Carlo Bonamico
When the working directory is empty, requesting a "build now" for a project
with a :scm:cvs:ext: method fails.
The CVS is configured with external SSH protocol, with publick key
authentication, and checking out from command line (using the same cvs command
as in the continuum log) works fine.
The failure message is:
Provider message: The cvs command failed.
Command output:
-------------------------------------------------------------------------------
cvs checkout: in directory 52:
cvs checkout: cannot open CVS/Entries for reading: No such file or directory
cvs [checkout aborted]: cannot write : No such file or directory
-------------------------------------------------------------------------------
The full continuum console log says:
jvm 1 | 2006-01-25 15:19:20,013 [SocketListener0-1] INFO ContinuumStore:jdo
- project :52
jvm 1 | 2006-01-25 15:19:20,018 [SocketListener0-1] INFO ContinuumStore:jdo
- nb bd for project 52 : 1 - bd id : 62
jvm 1 | 2006-01-25 15:19:20,018 [SocketListener0-1] INFO ContinuumStore:jdo
- getDefaultBuildDefinition : 5ms
jvm 1 | 2006-01-25 15:19:20,068 [SocketListener0-1] INFO Continuum
- Enqueuing 'SampleTestCVS' (Build definition id=62).
jvm 1 | 2006-01-25 15:19:20,349 [Thread-1] INFO ContinuumScm
- Checking out project: 'SampleTestCVS', id: '52' to
'/srv/build/continuum/apps/continuum/working-directory/52'.
jvm 1 | 2006-01-25 15:19:20,350 [Thread-1] DEBUG ScmManager
- Working directory: /srv/build/continuum/apps/continuum/working-directory/52
jvm 1 | 2006-01-25 15:19:20,350 [Thread-1] DEBUG ScmManager
- Command line: cvs -f -d :ext:[EMAIL PROTECTED]:/home/cvs -q checkout -d 52
SANDBOX/sampleTestCVS
jvm 1 | 2006-01-25 15:19:20,419 [SocketListener0-1] INFO ContinuumStore:jdo
- project :52
jvm 1 | 2006-01-25 15:19:20,426 [SocketListener0-1] INFO ContinuumStore:jdo
- nb bd for project 52 : 1 - bd id : 62
jvm 1 | 2006-01-25 15:19:20,426 [SocketListener0-1] INFO ContinuumStore:jdo
- getDefaultBuildDefinition : 6ms
jvm 1 | 2006-01-25 15:19:20,611 [Thread-1] WARN ContinuumScm
- Error while checking out the code for project: 'SampleTestCVS', id: '52'
to '/srv/build/continuum/apps/continuum/working-directory/52'.
jvm 1 | 2006-01-25 15:19:20,611 [Thread-1] WARN ContinuumScm
- Command output: cvs checkout: in directory 52:
jvm 1 | cvs checkout: cannot open CVS/Entries for reading: No such file or
directory
jvm 1 | cvs [checkout aborted]: cannot write <CVS/Template file>: No such
file or directory
jvm 1 |
jvm 1 | 2006-01-25 15:19:20,611 [Thread-1] WARN ContinuumScm
- Provider message: The cvs command failed.
jvm 1 | 2006-01-25 15:19:21,426 [Thread-1] INFO Notifier:mail
- No mail recipients for 'SampleTestCVS'.
Note - The "cannot open CVS/Entries" error could also be related to a failed
authentication.
The same happens if I add a new project.
My SCM url is a cvs:ext: url with a ssh protocol, configured with CVS_RSH="ssh"
in /etc/profiles
Manually reproducing the bug
----------------------------------------
However, I just made this test:
I went on the command line in the folder
/srv/build/continuum/apps/continuum/working-directory
if I delete the build directory (which is 52 in my case)
working-directory> rm -rf 52
working-directory> cvs -f -d :ext:[EMAIL PROTECTED]:/home/cvs -q checkout -d 52
SANDBOX/sampleTestCVS
cvs correctly creates the 52 directory and does the checkout
U 52/.classpath
U 52/.cvsignore
U 52/.project
...
U 52/xdocs/navigation.xml
If I run the same command again, it works.
BUT, if I delete only the *content* of the 52 directory, and perform a cvs
checkout, it fails, with the same CVS/Entries error as above:
working-directory> rm -rf 52/*
working-directory> cvs -f -d :ext:[EMAIL PROTECTED]:/home/cvs -q checkout -d 52
SANDBOX/sampleTestCVS
cvs checkout: in directory 52:
cvs checkout: cannot open CVS/Entries for reading: No such file or directory
cvs [checkout aborted]: cannot write <CVS/Template file>: No such file or
directory
So might the problem be that the directory 52 is already created by continuum
before doing the checkout?
In fact if I go to the working directory and delete all subdirectories, then
request a build with Build Now in continuum, the build fails with the
CVS/Entries error, while if I delete the working directory content and perform
a cvs checkout with the same command line it works.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira