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

CVS: First CVS Update after Checkout reads whole CVS-Repository

    Details

    • Type: Bug
    • Status: Resolved (View Workflow)
    • Priority: Blocker
    • Resolution: Fixed
    • Component/s: cvs-plugin
    • Labels:
      None
    • Environment:
      Tomcat6 / RHEL5
    • Similar Issues:

      Description

      When migration from old CVS-Plugin to the new Jenkins CVS-Plugin "Local Name" isn't defined.
      This leads to a HUGE problem: The first CVS-Update (not the first CVS-Checkout! This works!) will execute:
      "cvs update -d -P -r HEAD -D 2012-01-30 16:37:56CE"

      Thus the whole CVS repository is read.
      Simple solution: When migrating: "Remote Name" and "Local Name" must both be set.

        Attachments

          Issue Links

            Activity

            chrisabit chrisabit created issue -
            Hide
            mc1arke Michael Clarke added a comment - - edited

            Can you confirm you actually ended up with the whole repository being checked out on your first update? This seems wrong compared to how CVS actually works as it cannot update a mode that doesn't exist. The command you see printed for update it actually run from within the checked-out module in the workspace so will only update the contents of that module and not the rest of the workspace.

            The way the plugin works if no local name is set is that it automatically uses the remote name so changing the upgrade methods shouldn't make and difference

            Show
            mc1arke Michael Clarke added a comment - - edited Can you confirm you actually ended up with the whole repository being checked out on your first update? This seems wrong compared to how CVS actually works as it cannot update a mode that doesn't exist. The command you see printed for update it actually run from within the checked-out module in the workspace so will only update the contents of that module and not the rest of the workspace. The way the plugin works if no local name is set is that it automatically uses the remote name so changing the upgrade methods shouldn't make and difference
            Hide
            alexlehm Alex Lehmann added a comment -

            happened to me as well when trying to change my first job to the new plugin, the remote module name is home/lehmann/cvsbranch, the local name is empty

            then the complete checkout happens in the job's (e.g. .jenkins/jobs/cvsbranch) directory (not in the workspace directory)

            Show
            alexlehm Alex Lehmann added a comment - happened to me as well when trying to change my first job to the new plugin, the remote module name is home/lehmann/cvsbranch, the local name is empty then the complete checkout happens in the job's (e.g. .jenkins/jobs/cvsbranch) directory (not in the workspace directory)
            Hide
            belpk K P added a comment - - edited

            I got similar issues. The behaviour was improved however when changing forward slashes in the ROOT and module into backslashes (tough I'm not using the CVS 2.0 plugin anymore for now for other issues).
            This was on a Windows system.

            So you might try playing with the / or \ in the meantime, it did help me a little... until this is hopefully fixed and handled more nicely in the plugin.

            Show
            belpk K P added a comment - - edited I got similar issues. The behaviour was improved however when changing forward slashes in the ROOT and module into backslashes (tough I'm not using the CVS 2.0 plugin anymore for now for other issues). This was on a Windows system. So you might try playing with the / or \ in the meantime, it did help me a little... until this is hopefully fixed and handled more nicely in the plugin.
            mc1arke Michael Clarke made changes -
            Field Original Value New Value
            Link This issue is blocking JENKINS-12595 [ JENKINS-12595 ]
            mc1arke Michael Clarke made changes -
            Status Open [ 1 ] In Progress [ 3 ]
            mc1arke Michael Clarke made changes -
            Assignee Michael Clarke [ mc1arke ]
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Michael Clarke
            Path:
            src/main/java/hudson/scm/CVSSCM.java
            src/main/resources/hudson/scm/CVSSCM/config.jelly
            http://jenkins-ci.org/commit/cvs-plugin/794afd76127191e6a5174647d0c2620f0aadd915
            Log:
            [FIXED JENKINS-753] Allows performing a clean checkout if update fails
            [FIXED JENKINS-12595] CVS gets passed the module name so creates lock
            files in the correct directory on the remote server
            [FIXED JENKINS-12581] CVS plugin now forces a module name in the udpate
            command to prevent an attempt to checkout all remote modules

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Michael Clarke Path: src/main/java/hudson/scm/CVSSCM.java src/main/resources/hudson/scm/CVSSCM/config.jelly http://jenkins-ci.org/commit/cvs-plugin/794afd76127191e6a5174647d0c2620f0aadd915 Log: [FIXED JENKINS-753] Allows performing a clean checkout if update fails [FIXED JENKINS-12595] CVS gets passed the module name so creates lock files in the correct directory on the remote server [FIXED JENKINS-12581] CVS plugin now forces a module name in the udpate command to prevent an attempt to checkout all remote modules
            Hide
            kfhickel Kelly Hickel added a comment -

            I'm thinking that issue JENKINS-12862 is also related to this. Either way, my jenkins server is now busted.

            Show
            kfhickel Kelly Hickel added a comment - I'm thinking that issue JENKINS-12862 is also related to this. Either way, my jenkins server is now busted.
            mc1arke Michael Clarke made changes -
            Link This issue is duplicated by JENKINS-12862 [ JENKINS-12862 ]
            Hide
            mc1arke Michael Clarke added a comment -

            Fixed in version 2.1 by explicitly specifying the module to be used on the checkout and udpate commands

            Show
            mc1arke Michael Clarke added a comment - Fixed in version 2.1 by explicitly specifying the module to be used on the checkout and udpate commands
            mc1arke Michael Clarke made changes -
            Status In Progress [ 3 ] Resolved [ 5 ]
            Fix Version/s current [ 10162 ]
            Resolution Fixed [ 1 ]
            rtyler R. Tyler Croy made changes -
            Workflow JNJira [ 142947 ] JNJira + In-Review [ 190354 ]

              People

              • Assignee:
                mc1arke Michael Clarke
                Reporter:
                chrisabit chrisabit
              • Votes:
                5 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: