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

          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

          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.

          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

          Jordan Grant added a comment - - edited

          Closing due to fix in CVS plugin 2.5

          This was still an issue in CVS plugin 2.6-SNAPSHOT as of 27 AUG 2012

          Jordan Grant added a comment - - edited Closing due to fix in CVS plugin 2.5 This was still an issue in CVS plugin 2.6-SNAPSHOT as of 27 AUG 2012

          Code changed in jenkins
          User: mc1arke
          Path:
          src/main/java/hudson/scm/CVSSCM.java
          src/test/java/hudson/scm/CVSSCMTest.java
          http://jenkins-ci.org/commit/cvs-plugin/d7a1ee21db9fb641d504d6d180c900f064624042
          Log:
          [FIXED JENKINS-14141] Fix legacy mode disable and added unit test

          Compare: https://github.com/jenkinsci/cvs-plugin/compare/bfc1a2dd6034...d7a1ee21db9f

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: mc1arke Path: src/main/java/hudson/scm/CVSSCM.java src/test/java/hudson/scm/CVSSCMTest.java http://jenkins-ci.org/commit/cvs-plugin/d7a1ee21db9fb641d504d6d180c900f064624042 Log: [FIXED JENKINS-14141] Fix legacy mode disable and added unit test Compare: https://github.com/jenkinsci/cvs-plugin/compare/bfc1a2dd6034...d7a1ee21db9f

          Sorry, my fault. Fixed now.

          Michael Clarke added a comment - Sorry, my fault. Fixed now.

          Jordan Grant added a comment -

          Thank you! I have built and can verify that this is fixed in 2.6 SNAPSHOT.

          Jordan Grant added a comment - Thank you! I have built and can verify that this is fixed in 2.6 SNAPSHOT.

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

              Created:
              Updated:
              Resolved: