• Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major Major
    • cvs-plugin
    • None
    • linux

      I create two cvs modules with the path

      lib/flac-1.2.1
      drv/linux/fuse

      when it check out, got the error:

      cvs checkout -P -D 29 Mar 2012 11:40:15 +0800 -d lib/flac-1.2.1 lib/flac-1.2.1
      cvs [checkout aborted]: could not change directory to requested checkout directory `lib': No such file or directory

          [JENKINS-13264] fail checkout 2 modules with different path

          Eric Co created issue -

          Could you attached your job's config.xml?

          Michael Clarke added a comment - Could you attached your job's config.xml?

          Eric Co added a comment -

          <?xml version='1.0' encoding='UTF-8'?>
          <project>
          <actions/>
          <description></description>
          <keepDependencies>false</keepDependencies>
          <properties/>
          <scm class="hudson.scm.CVSSCM">
          <flatten>false</flatten>
          <repositories>
          <hudson.scm.CvsRepository>
          <cvsRoot>ericco@10.10.10.251:/home/cvsroot</cvsRoot>
          <modules>
          <hudson.scm.CvsModule>
          <localName></localName>
          <remoteName>lib/flac-1.2.1</remoteName>
          <moduleLocation class="hudson.scm.CvsModuleLocation$HeadModuleLocation">
          <locationType>HEAD</locationType>
          <useHeadIfNotFound>false</useHeadIfNotFound>
          </moduleLocation>
          </hudson.scm.CvsModule>
          <hudson.scm.CvsModule>
          <localName></localName>
          <remoteName>drv/linux/2.4/fuse</remoteName>
          <moduleLocation class="hudson.scm.CvsModuleLocation$HeadModuleLocation">
          <locationType>HEAD</locationType>
          <useHeadIfNotFound>false</useHeadIfNotFound>
          </moduleLocation>
          </hudson.scm.CvsModule>
          </modules>
          <compressionLevel>-1</compressionLevel>
          <excludedRegions>
          <hudson.scm.ExcludedRegion>
          <pattern></pattern>
          </hudson.scm.ExcludedRegion>
          </excludedRegions>
          <passwordRequired>false</passwordRequired>
          </hudson.scm.CvsRepository>
          </repositories>
          <canUseUpdate>true</canUseUpdate>
          <skipChangeLog>false</skipChangeLog>
          <pruneEmptyDirectories>true</pruneEmptyDirectories>
          <disableCvsQuiet>false</disableCvsQuiet>
          <cleanOnFailedUpdate>false</cleanOnFailedUpdate>
          </scm>
          <canRoam>true</canRoam>
          <disabled>false</disabled>
          <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
          <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
          <triggers class="vector"/>
          <concurrentBuild>false</concurrentBuild>
          <builders>
          <hudson.tasks.Shell>
          <command>true</command>
          </hudson.tasks.Shell>
          </builders>
          <publishers/>
          <buildWrappers/>
          </project>

          Eric Co added a comment - <?xml version='1.0' encoding='UTF-8'?> <project> <actions/> <description></description> <keepDependencies>false</keepDependencies> <properties/> <scm class="hudson.scm.CVSSCM"> <flatten>false</flatten> <repositories> <hudson.scm.CvsRepository> <cvsRoot>ericco@10.10.10.251:/home/cvsroot</cvsRoot> <modules> <hudson.scm.CvsModule> <localName></localName> <remoteName>lib/flac-1.2.1</remoteName> <moduleLocation class="hudson.scm.CvsModuleLocation$HeadModuleLocation"> <locationType>HEAD</locationType> <useHeadIfNotFound>false</useHeadIfNotFound> </moduleLocation> </hudson.scm.CvsModule> <hudson.scm.CvsModule> <localName></localName> <remoteName>drv/linux/2.4/fuse</remoteName> <moduleLocation class="hudson.scm.CvsModuleLocation$HeadModuleLocation"> <locationType>HEAD</locationType> <useHeadIfNotFound>false</useHeadIfNotFound> </moduleLocation> </hudson.scm.CvsModule> </modules> <compressionLevel>-1</compressionLevel> <excludedRegions> <hudson.scm.ExcludedRegion> <pattern></pattern> </hudson.scm.ExcludedRegion> </excludedRegions> <passwordRequired>false</passwordRequired> </hudson.scm.CvsRepository> </repositories> <canUseUpdate>true</canUseUpdate> <skipChangeLog>false</skipChangeLog> <pruneEmptyDirectories>true</pruneEmptyDirectories> <disableCvsQuiet>false</disableCvsQuiet> <cleanOnFailedUpdate>false</cleanOnFailedUpdate> </scm> <canRoam>true</canRoam> <disabled>false</disabled> <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding> <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding> <triggers class="vector"/> <concurrentBuild>false</concurrentBuild> <builders> <hudson.tasks.Shell> <command>true</command> </hudson.tasks.Shell> </builders> <publishers/> <buildWrappers/> </project>

          The issue is being caused by the CVS plugin trying to check out the files into a folder that matches the remote location name, but not creating the intermediate directories. If the module is called 'path/to/module' then the CVS plugin should create a directory called 'path' then another directory in there called 'to' before issuing the checkout command which will create 'module' inside these newly created directory.

          Michael Clarke added a comment - The issue is being caused by the CVS plugin trying to check out the files into a folder that matches the remote location name, but not creating the intermediate directories. If the module is called 'path/to/module' then the CVS plugin should create a directory called 'path' then another directory in there called 'to' before issuing the checkout command which will create 'module' inside these newly created directory.

          Can such an option be added? What would the difference be from what the "Legacy mode" option is supposed to do? I have the same issue as the OP except with one module with a bunch of legacy directories. The "Legacy mode" doesn't work with the 2.x CVS plug-in. And I get the same error as the OP if I try to set the "Local Name" to the same path as the "Remote Name". Thanks.

          James Gustafson added a comment - Can such an option be added? What would the difference be from what the "Legacy mode" option is supposed to do? I have the same issue as the OP except with one module with a bunch of legacy directories. The "Legacy mode" doesn't work with the 2.x CVS plug-in. And I get the same error as the OP if I try to set the "Local Name" to the same path as the "Remote Name". Thanks.
          Michael Clarke made changes -
          Assignee New: Michael Clarke [ mc1arke ]
          Michael Clarke made changes -
          Status Original: Open [ 1 ] New: In Progress [ 3 ]

          dogfood added a comment -

          Integrated in plugins_cvs #28
          [FIXED JENKINS-13264] Create intermediary directories if they do not exist on module checkout (Revision d55b1f080f9ef8105956f216ca4c46718051fd02)
          [FIXED JENKINS-13264] Create intermediary directories if they do not exist on module checkout (Revision 6190adfc4f0847b4de2b8bff935a58db622c3d56)

          Result = SUCCESS
          unknown :
          Files :

          • src/main/java/hudson/scm/CVSSCM.java

          mc1arke :
          Files :

          • src/main/java/hudson/scm/CVSSCM.java

          dogfood added a comment - Integrated in plugins_cvs #28 [FIXED JENKINS-13264] Create intermediary directories if they do not exist on module checkout (Revision d55b1f080f9ef8105956f216ca4c46718051fd02) [FIXED JENKINS-13264] Create intermediary directories if they do not exist on module checkout (Revision 6190adfc4f0847b4de2b8bff935a58db622c3d56) Result = SUCCESS unknown : Files : src/main/java/hudson/scm/CVSSCM.java mc1arke : Files : src/main/java/hudson/scm/CVSSCM.java

          Fixed creating of intermediary directories in upcoming release.

          Michael Clarke added a comment - Fixed creating of intermediary directories in upcoming release.
          Michael Clarke made changes -
          Fix Version/s New: current [ 10162 ]
          Resolution New: Fixed [ 1 ]
          Status Original: In Progress [ 3 ] New: Resolved [ 5 ]

            mc1arke Michael Clarke
            cofung Eric Co
            Votes:
            1 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: