Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-14141

CVS always creates module name folder in workspace since 1.470, legacy mode is stuck on enabled

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major Major
    • cvs-plugin
    • Jenkins 1.470, Jenkins CVS Plug-in 2.4, Linux X86, SLES 10, Apache Tomcat 7.0.26

      Since upgrading Jenkins to version 1.470, sources are checked out into folder <workspace>/<module name>. Before (v1.457), the folder <module name> was not created.

      This broke all our jobs due to artifact archiving and build configuration. We already used CVS plugin 2.4 for at least one week without problems, before updating Jenkins from 1.457 to 1.470.

      Since the update option Legacy Mode is enabled for all jobs by default and cannot be disabled. When trying to disable the selection box and saving the configuration, it jumps back to enabled. Tested in Firefox 12.0 and Internet Explorer 8. The option was not enabled before the update.

      CVS configuration after the update:

      <scm class="hudson.scm.CVSSCM">
      <flatten>false</flatten>
      <repositories>
      <hudson.scm.CvsRepository>
      <cvsRoot>:pserver:user@host:/path</cvsRoot>
      <repositoryItems>
      <hudson.scm.CvsRepositoryItem>
      <modules>
      <hudson.scm.CvsModule>
      <localName></localName>
      <remoteName>module_name</remoteName>
      </hudson.scm.CvsModule>
      </modules>
      <location class="hudson.scm.CvsRepositoryLocation$HeadRepositoryLocation">
      <locationType>HEAD</locationType>
      <useHeadIfNotFound>false</useHeadIfNotFound>
      </location>
      </hudson.scm.CvsRepositoryItem>
      </repositoryItems>
      <compressionLevel>-1</compressionLevel>
      <excludedRegions>
      <hudson.scm.ExcludedRegion>
      <pattern></pattern>
      </hudson.scm.ExcludedRegion>
      </excludedRegions>
      <password>secret</password>
      <passwordRequired>true</passwordRequired>
      </hudson.scm.CvsRepository>
      </repositories>
      <canUseUpdate>false</canUseUpdate>
      <skipChangeLog>false</skipChangeLog>
      <pruneEmptyDirectories>true</pruneEmptyDirectories>
      <disableCvsQuiet>false</disableCvsQuiet>
      <cleanOnFailedUpdate>false</cleanOnFailedUpdate>
      </scm>

      Before:

      <scm class="hudson.scm.CVSSCM">
      <flatten>true</flatten>
      <repositories>
      <hudson.scm.CvsRepository>
      <cvsRoot>:pserver:user@host:/path</cvsRoot>
      <modules>
      <hudson.scm.CvsModule>
      <localName></localName>
      <remoteName>module_name</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>
      <password>secret</password>
      <passwordRequired>true</passwordRequired>
      </hudson.scm.CvsRepository>
      </repositories>
      <canUseUpdate>false</canUseUpdate>
      <skipChangeLog>false</skipChangeLog>
      <pruneEmptyDirectories>true</pruneEmptyDirectories>
      <disableCvsQuiet>false</disableCvsQuiet>
      <cleanOnFailedUpdate>false</cleanOnFailedUpdate>
      </scm>

      I have not tried to set flatten back to true directly in config.xml. To solve the problem locally, I have updated all affected job configurations to include the <module_name> folder in paths where necessary.

            mc1arke Michael Clarke
            bsonntag Bjoern Sonntag
            Votes:
            3 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: