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

'cvs update' replaces the Tag file which has the branch name in it with a Tag with time and date which effectively corresponds back to the Head

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

      I am building a Module that comes from a CVS branch.

      'cvs checkout' correctly keeps the branch name in the Tag file.

      Now after a clean checkout if the 'Use Update' is checked under 'Source Code Management' then the command looks like:

      cvs update -d -P -r branch_name -D 15 May 2012 13:12:24 -0600 module_name

      After this the Tag file will have 'D2012.05.15.19.12.24' in it which basically corresponds to the Head now.

      This could be related to this.

      Help please.

          [JENKINS-13789] 'cvs update' replaces the Tag file which has the branch name in it with a Tag with time and date which effectively corresponds back to the Head

          Amir Isfy added a comment -

          Downgraded to version 2.0 and this problem is still there.

          Amir Isfy added a comment - Downgraded to version 2.0 and this problem is still there.

          Amir Isfy added a comment -

          Now when I introduce another option to this command like -f which makes the command look like:

          cvs update -d -P -f -r branch_name -D 15 May 2012 13:12:24 -0600 module_name

          then the Tag file does not get touched. It just doesn't like the way these arguments are lined up.

          Amir Isfy added a comment - Now when I introduce another option to this command like -f which makes the command look like: cvs update -d -P -f -r branch_name -D 15 May 2012 13:12:24 -0600 module_name then the Tag file does not get touched. It just doesn't like the way these arguments are lined up.

          One of the 'features' of CVS is that it doesn't support checking out by timestamp on a branch. To confuse things even more, it seems to accept the date parameter without any warning but then checks out the wrong thing. if 'use head if not found' (the -f parameter) is enabled then CVS ignores the date parameter unless it has switch to head which is why this seems to work in your second test.

          The plugin was designed to handle this requirement but the logic has been coded wrongly. Should be easy enough to fix.

          Michael Clarke added a comment - One of the 'features' of CVS is that it doesn't support checking out by timestamp on a branch. To confuse things even more, it seems to accept the date parameter without any warning but then checks out the wrong thing. if 'use head if not found' (the -f parameter) is enabled then CVS ignores the date parameter unless it has switch to head which is why this seems to work in your second test. The plugin was designed to handle this requirement but the logic has been coded wrongly. Should be easy enough to fix.

          Code changed in jenkins
          User: mc1arke
          Path:
          src/main/java/hudson/scm/CVSSCM.java
          http://jenkins-ci.org/commit/cvs-plugin/64d44730cf9ac09405230577762654697dc7a52d
          Log:
          [FIXED JENKINS-13789] Disable date in checkout/update when on branch

          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/64d44730cf9ac09405230577762654697dc7a52d Log: [FIXED JENKINS-13789] Disable date in checkout/update when on branch

            mc1arke Michael Clarke
            amofpers Amir Isfy
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: