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

    • 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.

          [JENKINS-14141] CVS always creates module name folder in workspace since 1.470, legacy mode is stuck on enabled

          Bjoern Sonntag created issue -

          Manually editing the config.xml does work, however after doing so, you cannot configure anything about the job without the setting reverting.

          David Ehrenberger added a comment - Manually editing the config.xml does work, however after doing so, you cannot configure anything about the job without the setting reverting.

          Code changed in jenkins
          User: mc1arke
          Path:
          src/main/java/hudson/scm/CVSSCM.java
          http://jenkins-ci.org/commit/cvs-plugin/773d49911d9abe3eea4b7d9c57022f2cffad8b53
          Log:
          [FIXED JENKINS-14141] (regression) allow flattening of workspace on single module

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: mc1arke Path: src/main/java/hudson/scm/CVSSCM.java http://jenkins-ci.org/commit/cvs-plugin/773d49911d9abe3eea4b7d9c57022f2cffad8b53 Log: [FIXED JENKINS-14141] (regression) allow flattening of workspace on single module
          SCM/JIRA link daemon made changes -
          Resolution New: Fixed [ 1 ]
          Status Original: Open [ 1 ] New: Resolved [ 5 ]
          Michael Clarke made changes -
          Assignee New: Michael Clarke [ mc1arke ]
          Michael Clarke made changes -
          Link New: This issue is duplicated by JENKINS-14627 [ JENKINS-14627 ]

          Jordan Grant added a comment - - edited

          This is an issue again on Jenkins 1.478. We are running CVS Plugin 2.4, Jenkins 1.478 on a Windows 7 64-bit machine as a service.

          Manually editing the configuration works still, but the reversion to "Legacy Mode" upon editing the configuration via Jenkins still is a problem.

          Jordan Grant added a comment - - edited This is an issue again on Jenkins 1.478. We are running CVS Plugin 2.4, Jenkins 1.478 on a Windows 7 64-bit machine as a service. Manually editing the configuration works still, but the reversion to "Legacy Mode" upon editing the configuration via Jenkins still is a problem.
          Jordan Grant made changes -
          Resolution Original: Fixed [ 1 ]
          Status Original: Resolved [ 5 ] New: Reopened [ 4 ]

          This was only fixed in 2.5, please update your version and retry.

          Michael Clarke added a comment - This was only fixed in 2.5, please update your version and retry.

          Jordan Grant added a comment -

          My mistake. We cannot upgrade to 2.5 until the NPE on cleanup is fixed. https://issues.jenkins-ci.org/browse/JENKINS-14680

          Jordan Grant added a comment - My mistake. We cannot upgrade to 2.5 until the NPE on cleanup is fixed. https://issues.jenkins-ci.org/browse/JENKINS-14680

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

              Created:
              Updated:
              Resolved: