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

Reply via email to