Uploaded image for project: 'Continuum'
  1. Continuum
  2. CONTINUUM-571

CVS checkout with :scm:cvs:ext: url fails

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.0.2
    • 1.0.3
    • Core system
    • None
    • Linux Suse 9.3

    Description

      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:continuum@vts2server:/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:continuum@server:/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:continuum@vts2server:/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.

      Attachments

        Activity

          People

            evenisse Emmanuel Venisse
            cbonamico Carlo Bonamico
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: