Details

    • Type: Bug
    • Status: Resolved (View Workflow)
    • Priority: Blocker
    • Resolution: Fixed
    • Component/s: cvs-plugin
    • Labels:
      None
    • Environment:
      Linux redhat 2.6.18-164.15.1.el5
      Tomcat 7.0.2
      Hudson 1.381
      CVS plugin 1.2
    • Similar Issues:

      Description

      It is not possible to tag a build any more. In the past (issue JENKINS-4374) it was not possible to "Tag all upstream builds at once", but it was possible to tag one build per time.

      Whenever we try to tag a build it shows us a message saying "Marcação está em progresso:" (meaning Tagging is in progress) and a button saying "Limpar erro para tentar novamente" (meaning Clear errors and retry). Moreover we get no log errors neither tag in the source code.

      According to mindless, he is also having a similar issue in SVN. Mindless also said the following in an issue comment (JENKINS-4374).
      "From what I can tell in the src, the screen with "Tagging is in progress" should show output from the cvs tag command and several other status messages about what it's doing.. the "Clear error to retry" button is only there when the operation is done.. so the fact you see this right away and with no log output is quite odd."

      I set the log level to ALL to try to understand the problem. The log is attached.
      What is important to say is that hudson is trying to use the user 'anonymous' (and 'SYSTEM' in some cases), but I'm logged in with the 'admin' user.

      If it is not possible to provide a fix in a mean time, please, provide a work around. Since, right now, it is not possible to tag a build at all.

        Attachments

          Activity

          Hide
          boerrild2 Christoffer Børrild added a comment -

          I've observed the same problem in Jenkins 1.440 and I believe I found the cause of the problem.

          CAUSE: Debugging the code reveals that an access-exception is thrown during tagging. However, the code fails to catch this exception, probably because it was unexpected when code was written. The exception is thrown because the CVSSCM.TagWorkerThread-class calls the "keepLog()"-method of the "hudson.model.Run"-class. This method, in turn, checks if the current user has the "UPDATE" right. However, since the "perform"-method of the TagWorkerThread is run from a separate thread it has no user associated with it and thus uses the "anonymous" user, hence the observations in the log-files. I believe the issue has arisen due to a security-fix (actually authored by "mindless") that introduced the check for the UPDATE-permission and hence broke the tagging function in the CVS plugin (...when security is enabled).

          WORKAROUND: A workaround of the problem can be to grant the "UPDATE"-permission to the anonymous user. If this is the only privilege granted to the anonymous user it will not interfere visually with the UI (from what I've seen so far) but of course it's not a viable solution to a publicly exposed system.

          FIX: A quick-fix of the code would be to completely remove the call to "keepLog()" as it doesn't seem to play any vital part in the tagging - I guess it was supposed to store the output of the tagging process for later querying, however, I've never seen any logs in my old installation where tagging still works. I've tried to catch the exception and just ignore it (in a plugin that was based on the CVSSCM-code) and in this case the tagging succeeds. Anyway, here's the faulty peace of code (hudson.scm.CVSSCM.java, line 1679):

                  protected void perform(TaskListener listener) {
                      for (Entry<AbstractBuild<?,?>, String> e : tagSet.entrySet()) {
                          TagAction ta = e.getKey().getAction(TagAction.class);
                          if(ta==null) {
                              listener.error(e.getKey()+" doesn't have CVS tag associated with it. Skipping");
                              continue;
                          }
                          listener.getLogger().println(Messages.CVSSCM_TagginXasY(e.getKey(),e.getValue()));
                          try {
                              e.getKey().keepLog();
                          } catch (IOException x) {
                              x.printStackTrace(listener.error(Messages.CVSSCM_FailedToMarkForKeep(e.getKey())));
                          }
                          ta.perform(e.getValue(), listener);
                          listener.getLogger().println();
                      }
                  }
          

          and here's a fix:

                  protected void perform(TaskListener listener) {
                      for (Entry<AbstractBuild<?,?>, String> e : tagSet.entrySet()) {
                          TagAction ta = e.getKey().getAction(TagAction.class);
                          if(ta==null) {
                              listener.error(e.getKey()+" doesn't have CVS tag associated with it. Skipping");
                              continue;
                          }
                          listener.getLogger().println(Messages.CVSSCM_TagginXasY(e.getKey(),e.getValue()));
                          //try {
                          //    e.getKey().keepLog();
                          //} catch (IOException x) {
                          //    x.printStackTrace(listener.error(Messages.CVSSCM_FailedToMarkForKeep(e.getKey())));
                          //}
                          ta.perform(e.getValue(), listener);
                          listener.getLogger().println();
                      }
                  }
          

          EPILOG: I'm not in loop with all this project/github/patching/branching-stuff so I suggest somebody better suited try to commit the fix.

          Show
          boerrild2 Christoffer Børrild added a comment - I've observed the same problem in Jenkins 1.440 and I believe I found the cause of the problem. CAUSE : Debugging the code reveals that an access-exception is thrown during tagging. However, the code fails to catch this exception, probably because it was unexpected when code was written. The exception is thrown because the CVSSCM.TagWorkerThread-class calls the "keepLog()"-method of the "hudson.model.Run"-class. This method, in turn, checks if the current user has the "UPDATE" right. However, since the "perform"-method of the TagWorkerThread is run from a separate thread it has no user associated with it and thus uses the "anonymous" user, hence the observations in the log-files. I believe the issue has arisen due to a security-fix (actually authored by "mindless") that introduced the check for the UPDATE-permission and hence broke the tagging function in the CVS plugin (...when security is enabled). WORKAROUND : A workaround of the problem can be to grant the "UPDATE"-permission to the anonymous user. If this is the only privilege granted to the anonymous user it will not interfere visually with the UI (from what I've seen so far) but of course it's not a viable solution to a publicly exposed system. FIX : A quick-fix of the code would be to completely remove the call to "keepLog()" as it doesn't seem to play any vital part in the tagging - I guess it was supposed to store the output of the tagging process for later querying, however, I've never seen any logs in my old installation where tagging still works. I've tried to catch the exception and just ignore it (in a plugin that was based on the CVSSCM-code) and in this case the tagging succeeds. Anyway, here's the faulty peace of code ( hudson.scm.CVSSCM.java, line 1679 ): protected void perform(TaskListener listener) { for (Entry<AbstractBuild<?,?>, String > e : tagSet.entrySet()) { TagAction ta = e.getKey().getAction(TagAction.class); if (ta== null ) { listener.error(e.getKey()+ " doesn't have CVS tag associated with it. Skipping" ); continue ; } listener.getLogger().println(Messages.CVSSCM_TagginXasY(e.getKey(),e.getValue())); try { e.getKey().keepLog(); } catch (IOException x) { x.printStackTrace(listener.error(Messages.CVSSCM_FailedToMarkForKeep(e.getKey()))); } ta.perform(e.getValue(), listener); listener.getLogger().println(); } } and here's a fix: protected void perform(TaskListener listener) { for (Entry<AbstractBuild<?,?>, String > e : tagSet.entrySet()) { TagAction ta = e.getKey().getAction(TagAction.class); if (ta== null ) { listener.error(e.getKey()+ " doesn't have CVS tag associated with it. Skipping" ); continue ; } listener.getLogger().println(Messages.CVSSCM_TagginXasY(e.getKey(),e.getValue())); // try { // e.getKey().keepLog(); //} catch (IOException x) { // x.printStackTrace(listener.error(Messages.CVSSCM_FailedToMarkForKeep(e.getKey()))); //} ta.perform(e.getValue(), listener); listener.getLogger().println(); } } EPILOG : I'm not in loop with all this project/github/patching/branching-stuff so I suggest somebody better suited try to commit the fix.
          Hide
          boerrild2 Christoffer Børrild added a comment -

          I've committed a pull-request with the fix on github: https://github.com/Boerrild/cvs-plugin/commit/57e1806398772e5b7a6ba32a8a02a47b095e0d23.
          Not sure what happens from here(!?)

          Show
          boerrild2 Christoffer Børrild added a comment - I've committed a pull-request with the fix on github: https://github.com/Boerrild/cvs-plugin/commit/57e1806398772e5b7a6ba32a8a02a47b095e0d23 . Not sure what happens from here(!?)
          Hide
          mc1arke Michael Clarke added a comment -

          Whilst Christoffer's fix seems to work, I've not merged it as we have a bigger change pending which incorporates an variant of this fix.

          Show
          mc1arke Michael Clarke added a comment - Whilst Christoffer's fix seems to work, I've not merged it as we have a bigger change pending which incorporates an variant of this fix.
          Hide
          scm_issue_link SCM/JIRA link daemon added a comment -

          Code changed in jenkins
          User: mc1arke
          Path:
          pom.xml
          src/main/java/hudson/org/apache/tools/ant/taskdefs/AbstractCvsTask.java
          src/main/java/hudson/org/apache/tools/ant/taskdefs/cvslib/CVSEntry.java
          src/main/java/hudson/org/apache/tools/ant/taskdefs/cvslib/ChangeLogParser.java
          src/main/java/hudson/org/apache/tools/ant/taskdefs/cvslib/ChangeLogTask.java
          src/main/java/hudson/org/apache/tools/ant/taskdefs/cvslib/ChangeLogWriter.java
          src/main/java/hudson/org/apache/tools/ant/taskdefs/cvslib/CvsUser.java
          src/main/java/hudson/org/apache/tools/ant/taskdefs/cvslib/RCSFile.java
          src/main/java/hudson/org/apache/tools/ant/taskdefs/cvslib/RedirectingOutputStream.java
          src/main/java/hudson/org/apache/tools/ant/taskdefs/cvslib/RedirectingStreamHandler.java
          src/main/java/hudson/org/apache/tools/ant/taskdefs/cvslib/package.html
          src/main/java/hudson/scm/CVSChangeLogParser.java
          src/main/java/hudson/scm/CVSChangeLogSet.java
          src/main/java/hudson/scm/CVSRepositoryBrowser.java
          src/main/java/hudson/scm/CVSSCM.java
          src/main/java/hudson/scm/CvsChangeLogHelper.java
          src/main/java/hudson/scm/CvsChangeSet.java
          src/main/java/hudson/scm/CvsFile.java
          src/main/java/hudson/scm/CvsModule.java
          src/main/java/hudson/scm/CvsModuleLocation.java
          src/main/java/hudson/scm/CvsModuleLocationType.java
          src/main/java/hudson/scm/CvsRepository.java
          src/main/java/hudson/scm/CvsRevisionState.java
          src/main/java/hudson/scm/ExcludedRegion.java
          src/main/java/hudson/scm/LegacyConvertor.java
          src/main/java/hudson/scm/MailAddressResolverImpl.java
          src/main/java/hudson/scm/cvstagging/CvsTagAction.java
          src/main/java/hudson/scm/cvstagging/CvsTagActionDescriptor.java
          src/main/java/hudson/scm/cvstagging/CvsTagActionWorker.java
          src/main/java/hudson/scm/cvstagging/LegacyTagAction.java
          src/main/resources/hudson/scm/CVSSCM/DescriptorImpl/enterPassword.jelly
          src/main/resources/hudson/scm/CVSSCM/DescriptorImpl/versionCheckError.jelly
          src/main/resources/hudson/scm/CVSSCM/TagAction/help-tagAll.html
          src/main/resources/hudson/scm/CVSSCM/TagAction/help-tagAll_de.html
          src/main/resources/hudson/scm/CVSSCM/TagAction/help-tagAll_fr.html
          src/main/resources/hudson/scm/CVSSCM/TagAction/help-tagAll_ja.html
          src/main/resources/hudson/scm/CVSSCM/TagAction/help-tagAll_nl.html
          src/main/resources/hudson/scm/CVSSCM/TagAction/help-tagAll_pt_BR.html
          src/main/resources/hudson/scm/CVSSCM/TagAction/help-tagAll_ru.html
          src/main/resources/hudson/scm/CVSSCM/TagAction/help-tagAll_tr.html
          src/main/resources/hudson/scm/CVSSCM/TagAction/tagForm.jelly
          src/main/resources/hudson/scm/CVSSCM/TagAction/tagForm_de.properties
          src/main/resources/hudson/scm/CVSSCM/TagAction/tagForm_es.properties
          src/main/resources/hudson/scm/CVSSCM/TagAction/tagForm_fr.properties
          src/main/resources/hudson/scm/CVSSCM/TagAction/tagForm_ja.properties
          src/main/resources/hudson/scm/CVSSCM/TagAction/tagForm_nl.properties
          src/main/resources/hudson/scm/CVSSCM/TagAction/tagForm_pt_BR.properties
          src/main/resources/hudson/scm/CVSSCM/TagAction/tagForm_ru.properties
          src/main/resources/hudson/scm/CVSSCM/TagAction/tagForm_tr.properties
          src/main/resources/hudson/scm/CVSSCM/config.jelly
          src/main/resources/hudson/scm/CVSSCM/config.properties
          src/main/resources/hudson/scm/CVSSCM/global.jelly
          src/main/resources/hudson/scm/CVSSCM/help-allModules.html
          src/main/resources/hudson/scm/CVSSCM/help-allModules_de.html
          src/main/resources/hudson/scm/CVSSCM/help-allModules_fr.html
          src/main/resources/hudson/scm/CVSSCM/help-allModules_ja.html
          src/main/resources/hudson/scm/CVSSCM/help-allModules_nl.html
          src/main/resources/hudson/scm/CVSSCM/help-allModules_pt_BR.html
          src/main/resources/hudson/scm/CVSSCM/help-allModules_ru.html
          src/main/resources/hudson/scm/CVSSCM/help-allModules_tr.html
          src/main/resources/hudson/scm/CVSSCM/help-branch.html
          src/main/resources/hudson/scm/CVSSCM/help-branch_de.html
          src/main/resources/hudson/scm/CVSSCM/help-branch_fr.html
          src/main/resources/hudson/scm/CVSSCM/help-branch_ja.html
          src/main/resources/hudson/scm/CVSSCM/help-branch_nl.html
          src/main/resources/hudson/scm/CVSSCM/help-branch_pt_BR.html
          src/main/resources/hudson/scm/CVSSCM/help-branch_ru.html
          src/main/resources/hudson/scm/CVSSCM/help-branch_tr.html
          src/main/resources/hudson/scm/CVSSCM/help-cvsExe.html
          src/main/resources/hudson/scm/CVSSCM/help-cvsExe_de.html
          src/main/resources/hudson/scm/CVSSCM/help-cvsExe_fr.html
          src/main/resources/hudson/scm/CVSSCM/help-cvsExe_ja.html
          src/main/resources/hudson/scm/CVSSCM/help-cvsExe_nl.html
          src/main/resources/hudson/scm/CVSSCM/help-cvsExe_pt_BR.html
          src/main/resources/hudson/scm/CVSSCM/help-cvsExe_ru.html
          src/main/resources/hudson/scm/CVSSCM/help-cvsExe_tr.html
          src/main/resources/hudson/scm/CVSSCM/help-cvsExe_zh_CN.html
          src/main/resources/hudson/scm/CVSSCM/help-cvsRoot.html
          src/main/resources/hudson/scm/CVSSCM/help-cvsRoot_de.html
          src/main/resources/hudson/scm/CVSSCM/help-cvsRoot_fr.html
          src/main/resources/hudson/scm/CVSSCM/help-cvsRoot_ja.html
          src/main/resources/hudson/scm/CVSSCM/help-cvsRoot_nl.html
          src/main/resources/hudson/scm/CVSSCM/help-cvsRoot_pt_BR.html
          src/main/resources/hudson/scm/CVSSCM/help-cvsRoot_ru.html
          src/main/resources/hudson/scm/CVSSCM/help-cvsRoot_tr.html
          src/main/resources/hudson/scm/CVSSCM/help-cvsRsh.html
          src/main/resources/hudson/scm/CVSSCM/help-cvsRsh_de.html
          src/main/resources/hudson/scm/CVSSCM/help-cvsRsh_fr.html
          src/main/resources/hudson/scm/CVSSCM/help-cvsRsh_ja.html
          src/main/resources/hudson/scm/CVSSCM/help-cvsRsh_nl.html
          src/main/resources/hudson/scm/CVSSCM/help-cvsRsh_pt_BR.html
          src/main/resources/hudson/scm/CVSSCM/help-cvsRsh_ru.html
          src/main/resources/hudson/scm/CVSSCM/help-cvsRsh_tr.html
          src/main/resources/hudson/scm/CVSSCM/help-cvspassFile.html
          src/main/resources/hudson/scm/CVSSCM/help-cvspassFile_de.html
          src/main/resources/hudson/scm/CVSSCM/help-cvspassFile_fr.html
          src/main/resources/hudson/scm/CVSSCM/help-cvspassFile_ja.html
          src/main/resources/hudson/scm/CVSSCM/help-cvspassFile_zh_CN.html
          src/main/resources/hudson/scm/CVSSCM/help-disableCvsQuiet.html
          src/main/resources/hudson/scm/CVSSCM/help-excludedRegions.html
          src/main/resources/hudson/scm/CVSSCM/help-excludedRegions_de.html
          src/main/resources/hudson/scm/CVSSCM/help-excludedRegions_fr.html
          src/main/resources/hudson/scm/CVSSCM/help-excludedRegions_ja.html
          src/main/resources/hudson/scm/CVSSCM/help-pruneEmptyDirectories.html
          src/main/resources/hudson/scm/CVSSCM/help-skipChangeLog.html
          src/main/resources/hudson/scm/CVSSCM/help-useHeadIfNotFound.html
          src/main/resources/hudson/scm/CVSSCM/help-useHeadIfNotFound_de.html
          src/main/resources/hudson/scm/CvsModule/config.jelly
          src/main/resources/hudson/scm/CvsModule/config.properties
          src/main/resources/hudson/scm/CvsModule/config_de.properties
          src/main/resources/hudson/scm/CvsModule/config_es.properties
          src/main/resources/hudson/scm/CvsModule/config_fr.properties
          src/main/resources/hudson/scm/CvsModule/config_ja.properties
          src/main/resources/hudson/scm/CvsModule/config_nl.properties
          src/main/resources/hudson/scm/CvsModule/config_pt_BR.properties
          src/main/resources/hudson/scm/CvsModule/config_ru.properties
          src/main/resources/hudson/scm/CvsModule/config_tr.properties
          src/main/resources/hudson/scm/CvsModule/help-branchName.html
          src/main/resources/hudson/scm/CvsModule/help-localName.html
          src/main/resources/hudson/scm/CvsModule/help-remoteName.html
          src/main/resources/hudson/scm/CvsModule/help-tagName.html
          src/main/resources/hudson/scm/CvsModule/help-useHeadIfNotFound.html
          src/main/resources/hudson/scm/CvsModule/help-useHeadIfNotFound_de.html
          src/main/resources/hudson/scm/CvsModuleLocation/BranchModuleLocation/config.jelly
          src/main/resources/hudson/scm/CvsModuleLocation/HeadModuleLocation/config.jelly
          src/main/resources/hudson/scm/CvsModuleLocation/TagModuleLocation/config.jelly
          src/main/resources/hudson/scm/CvsRepository/config.jelly
          src/main/resources/hudson/scm/CvsRepository/config.properties
          src/main/resources/hudson/scm/CvsRepository/config_de.properties
          src/main/resources/hudson/scm/CvsRepository/config_es.properties
          src/main/resources/hudson/scm/CvsRepository/config_fr.properties
          src/main/resources/hudson/scm/CvsRepository/config_ja.properties
          src/main/resources/hudson/scm/CvsRepository/config_nl.properties
          src/main/resources/hudson/scm/CvsRepository/config_pt_BR.properties
          src/main/resources/hudson/scm/CvsRepository/config_ru.properties
          src/main/resources/hudson/scm/CvsRepository/config_tr.properties
          src/main/resources/hudson/scm/CvsRepository/help-cvsRoot.html
          src/main/resources/hudson/scm/CvsRepository/help-cvsRoot_de.html
          src/main/resources/hudson/scm/CvsRepository/help-cvsRoot_fr.html
          src/main/resources/hudson/scm/CvsRepository/help-cvsRoot_ja.html
          src/main/resources/hudson/scm/CvsRepository/help-cvsRoot_nl.html
          src/main/resources/hudson/scm/CvsRepository/help-cvsRoot_pt_BR.html
          src/main/resources/hudson/scm/CvsRepository/help-cvsRoot_ru.html
          src/main/resources/hudson/scm/CvsRepository/help-cvsRoot_tr.html
          src/main/resources/hudson/scm/CvsRepository/help-excludedRegions.html
          src/main/resources/hudson/scm/CvsRepository/help-excludedRegions_de.html
          src/main/resources/hudson/scm/CvsRepository/help-excludedRegions_fr.html
          src/main/resources/hudson/scm/CvsRepository/help-excludedRegions_ja.html
          src/main/resources/hudson/scm/ExcludedRegion/config.jelly
          src/main/resources/hudson/scm/cvs/Messages.properties
          src/main/resources/hudson/scm/cvs/Messages_de.properties
          src/main/resources/hudson/scm/cvs/Messages_es.properties
          src/main/resources/hudson/scm/cvs/Messages_fr.properties
          src/main/resources/hudson/scm/cvs/Messages_ja.properties
          src/main/resources/hudson/scm/cvs/Messages_nl.properties
          src/main/resources/hudson/scm/cvstagging/CvsTagAction/help-tagAll.html
          src/main/resources/hudson/scm/cvstagging/CvsTagAction/help-tagAll_de.html
          src/main/resources/hudson/scm/cvstagging/CvsTagAction/help-tagAll_fr.html
          src/main/resources/hudson/scm/cvstagging/CvsTagAction/help-tagAll_ja.html
          src/main/resources/hudson/scm/cvstagging/CvsTagAction/help-tagAll_nl.html
          src/main/resources/hudson/scm/cvstagging/CvsTagAction/help-tagAll_pt_BR.html
          src/main/resources/hudson/scm/cvstagging/CvsTagAction/help-tagAll_ru.html
          src/main/resources/hudson/scm/cvstagging/CvsTagAction/help-tagAll_tr.html
          src/main/resources/hudson/scm/cvstagging/CvsTagAction/tagForm.jelly
          src/main/resources/hudson/scm/cvstagging/CvsTagAction/tagForm_de.properties
          src/main/resources/hudson/scm/cvstagging/CvsTagAction/tagForm_es.properties
          src/main/resources/hudson/scm/cvstagging/CvsTagAction/tagForm_fr.properties
          src/main/resources/hudson/scm/cvstagging/CvsTagAction/tagForm_ja.properties
          src/main/resources/hudson/scm/cvstagging/CvsTagAction/tagForm_nl.properties
          src/main/resources/hudson/scm/cvstagging/CvsTagAction/tagForm_pt_BR.properties
          src/main/resources/hudson/scm/cvstagging/CvsTagAction/tagForm_ru.properties
          src/main/resources/hudson/scm/cvstagging/CvsTagAction/tagForm_tr.properties
          src/main/resources/hudson/scm/cvstagging/LegacyTagAction/help-tagAll.html
          src/main/resources/hudson/scm/cvstagging/LegacyTagAction/help-tagAll_de.html
          src/main/resources/hudson/scm/cvstagging/LegacyTagAction/help-tagAll_fr.html
          src/main/resources/hudson/scm/cvstagging/LegacyTagAction/help-tagAll_ja.html
          src/main/resources/hudson/scm/cvstagging/LegacyTagAction/help-tagAll_nl.html
          src/main/resources/hudson/scm/cvstagging/LegacyTagAction/help-tagAll_pt_BR.html
          src/main/resources/hudson/scm/cvstagging/LegacyTagAction/help-tagAll_ru.html
          src/main/resources/hudson/scm/cvstagging/LegacyTagAction/help-tagAll_tr.html
          src/main/resources/hudson/scm/cvstagging/LegacyTagAction/tagForm.jelly
          src/main/resources/hudson/scm/cvstagging/LegacyTagAction/tagForm_de.properties
          src/main/resources/hudson/scm/cvstagging/LegacyTagAction/tagForm_es.properties
          src/main/resources/hudson/scm/cvstagging/LegacyTagAction/tagForm_fr.properties
          src/main/resources/hudson/scm/cvstagging/LegacyTagAction/tagForm_ja.properties
          src/main/resources/hudson/scm/cvstagging/LegacyTagAction/tagForm_nl.properties
          src/main/resources/hudson/scm/cvstagging/LegacyTagAction/tagForm_pt_BR.properties
          src/main/resources/hudson/scm/cvstagging/LegacyTagAction/tagForm_ru.properties
          src/main/resources/hudson/scm/cvstagging/LegacyTagAction/tagForm_tr.properties
          src/test/java/hudson/scm/CVSSCMTest.java
          src/test/java/hudson/scm/CvsChangeLogHelperTest.java
          http://jenkins-ci.org/commit/cvs-plugin/1c6ddef1e5c1c3fe9f1a236fe4cc3aa336b8ca21
          Log:
          Merge pull request #5 from mc1arke/master

          Overhaul of the cvs plugin

          Changes:

          Potentially also fixes:
          JENKINS-1737: Alternative Quiet Period Implementation (untested - updated polling should fix this)
          JENKINS-10843: CVS Update (defect is unclear)
          JENKINS-427: Cannot check out alias modules from CVS (untested - using rlog should fix this)

          It's probably worth updating the version number in the POM to 2.0 given the number/scale of these changes, although this hasn't been included as part of this request.

          Compare: https://github.com/jenkinsci/cvs-plugin/compare/7b57474...1c6ddef

          Show
          scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: mc1arke Path: pom.xml src/main/java/hudson/org/apache/tools/ant/taskdefs/AbstractCvsTask.java src/main/java/hudson/org/apache/tools/ant/taskdefs/cvslib/CVSEntry.java src/main/java/hudson/org/apache/tools/ant/taskdefs/cvslib/ChangeLogParser.java src/main/java/hudson/org/apache/tools/ant/taskdefs/cvslib/ChangeLogTask.java src/main/java/hudson/org/apache/tools/ant/taskdefs/cvslib/ChangeLogWriter.java src/main/java/hudson/org/apache/tools/ant/taskdefs/cvslib/CvsUser.java src/main/java/hudson/org/apache/tools/ant/taskdefs/cvslib/RCSFile.java src/main/java/hudson/org/apache/tools/ant/taskdefs/cvslib/RedirectingOutputStream.java src/main/java/hudson/org/apache/tools/ant/taskdefs/cvslib/RedirectingStreamHandler.java src/main/java/hudson/org/apache/tools/ant/taskdefs/cvslib/package.html src/main/java/hudson/scm/CVSChangeLogParser.java src/main/java/hudson/scm/CVSChangeLogSet.java src/main/java/hudson/scm/CVSRepositoryBrowser.java src/main/java/hudson/scm/CVSSCM.java src/main/java/hudson/scm/CvsChangeLogHelper.java src/main/java/hudson/scm/CvsChangeSet.java src/main/java/hudson/scm/CvsFile.java src/main/java/hudson/scm/CvsModule.java src/main/java/hudson/scm/CvsModuleLocation.java src/main/java/hudson/scm/CvsModuleLocationType.java src/main/java/hudson/scm/CvsRepository.java src/main/java/hudson/scm/CvsRevisionState.java src/main/java/hudson/scm/ExcludedRegion.java src/main/java/hudson/scm/LegacyConvertor.java src/main/java/hudson/scm/MailAddressResolverImpl.java src/main/java/hudson/scm/cvstagging/CvsTagAction.java src/main/java/hudson/scm/cvstagging/CvsTagActionDescriptor.java src/main/java/hudson/scm/cvstagging/CvsTagActionWorker.java src/main/java/hudson/scm/cvstagging/LegacyTagAction.java src/main/resources/hudson/scm/CVSSCM/DescriptorImpl/enterPassword.jelly src/main/resources/hudson/scm/CVSSCM/DescriptorImpl/versionCheckError.jelly src/main/resources/hudson/scm/CVSSCM/TagAction/help-tagAll.html src/main/resources/hudson/scm/CVSSCM/TagAction/help-tagAll_de.html src/main/resources/hudson/scm/CVSSCM/TagAction/help-tagAll_fr.html src/main/resources/hudson/scm/CVSSCM/TagAction/help-tagAll_ja.html src/main/resources/hudson/scm/CVSSCM/TagAction/help-tagAll_nl.html src/main/resources/hudson/scm/CVSSCM/TagAction/help-tagAll_pt_BR.html src/main/resources/hudson/scm/CVSSCM/TagAction/help-tagAll_ru.html src/main/resources/hudson/scm/CVSSCM/TagAction/help-tagAll_tr.html src/main/resources/hudson/scm/CVSSCM/TagAction/tagForm.jelly src/main/resources/hudson/scm/CVSSCM/TagAction/tagForm_de.properties src/main/resources/hudson/scm/CVSSCM/TagAction/tagForm_es.properties src/main/resources/hudson/scm/CVSSCM/TagAction/tagForm_fr.properties src/main/resources/hudson/scm/CVSSCM/TagAction/tagForm_ja.properties src/main/resources/hudson/scm/CVSSCM/TagAction/tagForm_nl.properties src/main/resources/hudson/scm/CVSSCM/TagAction/tagForm_pt_BR.properties src/main/resources/hudson/scm/CVSSCM/TagAction/tagForm_ru.properties src/main/resources/hudson/scm/CVSSCM/TagAction/tagForm_tr.properties src/main/resources/hudson/scm/CVSSCM/config.jelly src/main/resources/hudson/scm/CVSSCM/config.properties src/main/resources/hudson/scm/CVSSCM/global.jelly src/main/resources/hudson/scm/CVSSCM/help-allModules.html src/main/resources/hudson/scm/CVSSCM/help-allModules_de.html src/main/resources/hudson/scm/CVSSCM/help-allModules_fr.html src/main/resources/hudson/scm/CVSSCM/help-allModules_ja.html src/main/resources/hudson/scm/CVSSCM/help-allModules_nl.html src/main/resources/hudson/scm/CVSSCM/help-allModules_pt_BR.html src/main/resources/hudson/scm/CVSSCM/help-allModules_ru.html src/main/resources/hudson/scm/CVSSCM/help-allModules_tr.html src/main/resources/hudson/scm/CVSSCM/help-branch.html src/main/resources/hudson/scm/CVSSCM/help-branch_de.html src/main/resources/hudson/scm/CVSSCM/help-branch_fr.html src/main/resources/hudson/scm/CVSSCM/help-branch_ja.html src/main/resources/hudson/scm/CVSSCM/help-branch_nl.html src/main/resources/hudson/scm/CVSSCM/help-branch_pt_BR.html src/main/resources/hudson/scm/CVSSCM/help-branch_ru.html src/main/resources/hudson/scm/CVSSCM/help-branch_tr.html src/main/resources/hudson/scm/CVSSCM/help-cvsExe.html src/main/resources/hudson/scm/CVSSCM/help-cvsExe_de.html src/main/resources/hudson/scm/CVSSCM/help-cvsExe_fr.html src/main/resources/hudson/scm/CVSSCM/help-cvsExe_ja.html src/main/resources/hudson/scm/CVSSCM/help-cvsExe_nl.html src/main/resources/hudson/scm/CVSSCM/help-cvsExe_pt_BR.html src/main/resources/hudson/scm/CVSSCM/help-cvsExe_ru.html src/main/resources/hudson/scm/CVSSCM/help-cvsExe_tr.html src/main/resources/hudson/scm/CVSSCM/help-cvsExe_zh_CN.html src/main/resources/hudson/scm/CVSSCM/help-cvsRoot.html src/main/resources/hudson/scm/CVSSCM/help-cvsRoot_de.html src/main/resources/hudson/scm/CVSSCM/help-cvsRoot_fr.html src/main/resources/hudson/scm/CVSSCM/help-cvsRoot_ja.html src/main/resources/hudson/scm/CVSSCM/help-cvsRoot_nl.html src/main/resources/hudson/scm/CVSSCM/help-cvsRoot_pt_BR.html src/main/resources/hudson/scm/CVSSCM/help-cvsRoot_ru.html src/main/resources/hudson/scm/CVSSCM/help-cvsRoot_tr.html src/main/resources/hudson/scm/CVSSCM/help-cvsRsh.html src/main/resources/hudson/scm/CVSSCM/help-cvsRsh_de.html src/main/resources/hudson/scm/CVSSCM/help-cvsRsh_fr.html src/main/resources/hudson/scm/CVSSCM/help-cvsRsh_ja.html src/main/resources/hudson/scm/CVSSCM/help-cvsRsh_nl.html src/main/resources/hudson/scm/CVSSCM/help-cvsRsh_pt_BR.html src/main/resources/hudson/scm/CVSSCM/help-cvsRsh_ru.html src/main/resources/hudson/scm/CVSSCM/help-cvsRsh_tr.html src/main/resources/hudson/scm/CVSSCM/help-cvspassFile.html src/main/resources/hudson/scm/CVSSCM/help-cvspassFile_de.html src/main/resources/hudson/scm/CVSSCM/help-cvspassFile_fr.html src/main/resources/hudson/scm/CVSSCM/help-cvspassFile_ja.html src/main/resources/hudson/scm/CVSSCM/help-cvspassFile_zh_CN.html src/main/resources/hudson/scm/CVSSCM/help-disableCvsQuiet.html src/main/resources/hudson/scm/CVSSCM/help-excludedRegions.html src/main/resources/hudson/scm/CVSSCM/help-excludedRegions_de.html src/main/resources/hudson/scm/CVSSCM/help-excludedRegions_fr.html src/main/resources/hudson/scm/CVSSCM/help-excludedRegions_ja.html src/main/resources/hudson/scm/CVSSCM/help-pruneEmptyDirectories.html src/main/resources/hudson/scm/CVSSCM/help-skipChangeLog.html src/main/resources/hudson/scm/CVSSCM/help-useHeadIfNotFound.html src/main/resources/hudson/scm/CVSSCM/help-useHeadIfNotFound_de.html src/main/resources/hudson/scm/CvsModule/config.jelly src/main/resources/hudson/scm/CvsModule/config.properties src/main/resources/hudson/scm/CvsModule/config_de.properties src/main/resources/hudson/scm/CvsModule/config_es.properties src/main/resources/hudson/scm/CvsModule/config_fr.properties src/main/resources/hudson/scm/CvsModule/config_ja.properties src/main/resources/hudson/scm/CvsModule/config_nl.properties src/main/resources/hudson/scm/CvsModule/config_pt_BR.properties src/main/resources/hudson/scm/CvsModule/config_ru.properties src/main/resources/hudson/scm/CvsModule/config_tr.properties src/main/resources/hudson/scm/CvsModule/help-branchName.html src/main/resources/hudson/scm/CvsModule/help-localName.html src/main/resources/hudson/scm/CvsModule/help-remoteName.html src/main/resources/hudson/scm/CvsModule/help-tagName.html src/main/resources/hudson/scm/CvsModule/help-useHeadIfNotFound.html src/main/resources/hudson/scm/CvsModule/help-useHeadIfNotFound_de.html src/main/resources/hudson/scm/CvsModuleLocation/BranchModuleLocation/config.jelly src/main/resources/hudson/scm/CvsModuleLocation/HeadModuleLocation/config.jelly src/main/resources/hudson/scm/CvsModuleLocation/TagModuleLocation/config.jelly src/main/resources/hudson/scm/CvsRepository/config.jelly src/main/resources/hudson/scm/CvsRepository/config.properties src/main/resources/hudson/scm/CvsRepository/config_de.properties src/main/resources/hudson/scm/CvsRepository/config_es.properties src/main/resources/hudson/scm/CvsRepository/config_fr.properties src/main/resources/hudson/scm/CvsRepository/config_ja.properties src/main/resources/hudson/scm/CvsRepository/config_nl.properties src/main/resources/hudson/scm/CvsRepository/config_pt_BR.properties src/main/resources/hudson/scm/CvsRepository/config_ru.properties src/main/resources/hudson/scm/CvsRepository/config_tr.properties src/main/resources/hudson/scm/CvsRepository/help-cvsRoot.html src/main/resources/hudson/scm/CvsRepository/help-cvsRoot_de.html src/main/resources/hudson/scm/CvsRepository/help-cvsRoot_fr.html src/main/resources/hudson/scm/CvsRepository/help-cvsRoot_ja.html src/main/resources/hudson/scm/CvsRepository/help-cvsRoot_nl.html src/main/resources/hudson/scm/CvsRepository/help-cvsRoot_pt_BR.html src/main/resources/hudson/scm/CvsRepository/help-cvsRoot_ru.html src/main/resources/hudson/scm/CvsRepository/help-cvsRoot_tr.html src/main/resources/hudson/scm/CvsRepository/help-excludedRegions.html src/main/resources/hudson/scm/CvsRepository/help-excludedRegions_de.html src/main/resources/hudson/scm/CvsRepository/help-excludedRegions_fr.html src/main/resources/hudson/scm/CvsRepository/help-excludedRegions_ja.html src/main/resources/hudson/scm/ExcludedRegion/config.jelly src/main/resources/hudson/scm/cvs/Messages.properties src/main/resources/hudson/scm/cvs/Messages_de.properties src/main/resources/hudson/scm/cvs/Messages_es.properties src/main/resources/hudson/scm/cvs/Messages_fr.properties src/main/resources/hudson/scm/cvs/Messages_ja.properties src/main/resources/hudson/scm/cvs/Messages_nl.properties src/main/resources/hudson/scm/cvstagging/CvsTagAction/help-tagAll.html src/main/resources/hudson/scm/cvstagging/CvsTagAction/help-tagAll_de.html src/main/resources/hudson/scm/cvstagging/CvsTagAction/help-tagAll_fr.html src/main/resources/hudson/scm/cvstagging/CvsTagAction/help-tagAll_ja.html src/main/resources/hudson/scm/cvstagging/CvsTagAction/help-tagAll_nl.html src/main/resources/hudson/scm/cvstagging/CvsTagAction/help-tagAll_pt_BR.html src/main/resources/hudson/scm/cvstagging/CvsTagAction/help-tagAll_ru.html src/main/resources/hudson/scm/cvstagging/CvsTagAction/help-tagAll_tr.html src/main/resources/hudson/scm/cvstagging/CvsTagAction/tagForm.jelly src/main/resources/hudson/scm/cvstagging/CvsTagAction/tagForm_de.properties src/main/resources/hudson/scm/cvstagging/CvsTagAction/tagForm_es.properties src/main/resources/hudson/scm/cvstagging/CvsTagAction/tagForm_fr.properties src/main/resources/hudson/scm/cvstagging/CvsTagAction/tagForm_ja.properties src/main/resources/hudson/scm/cvstagging/CvsTagAction/tagForm_nl.properties src/main/resources/hudson/scm/cvstagging/CvsTagAction/tagForm_pt_BR.properties src/main/resources/hudson/scm/cvstagging/CvsTagAction/tagForm_ru.properties src/main/resources/hudson/scm/cvstagging/CvsTagAction/tagForm_tr.properties src/main/resources/hudson/scm/cvstagging/LegacyTagAction/help-tagAll.html src/main/resources/hudson/scm/cvstagging/LegacyTagAction/help-tagAll_de.html src/main/resources/hudson/scm/cvstagging/LegacyTagAction/help-tagAll_fr.html src/main/resources/hudson/scm/cvstagging/LegacyTagAction/help-tagAll_ja.html src/main/resources/hudson/scm/cvstagging/LegacyTagAction/help-tagAll_nl.html src/main/resources/hudson/scm/cvstagging/LegacyTagAction/help-tagAll_pt_BR.html src/main/resources/hudson/scm/cvstagging/LegacyTagAction/help-tagAll_ru.html src/main/resources/hudson/scm/cvstagging/LegacyTagAction/help-tagAll_tr.html src/main/resources/hudson/scm/cvstagging/LegacyTagAction/tagForm.jelly src/main/resources/hudson/scm/cvstagging/LegacyTagAction/tagForm_de.properties src/main/resources/hudson/scm/cvstagging/LegacyTagAction/tagForm_es.properties src/main/resources/hudson/scm/cvstagging/LegacyTagAction/tagForm_fr.properties src/main/resources/hudson/scm/cvstagging/LegacyTagAction/tagForm_ja.properties src/main/resources/hudson/scm/cvstagging/LegacyTagAction/tagForm_nl.properties src/main/resources/hudson/scm/cvstagging/LegacyTagAction/tagForm_pt_BR.properties src/main/resources/hudson/scm/cvstagging/LegacyTagAction/tagForm_ru.properties src/main/resources/hudson/scm/cvstagging/LegacyTagAction/tagForm_tr.properties src/test/java/hudson/scm/CVSSCMTest.java src/test/java/hudson/scm/CvsChangeLogHelperTest.java http://jenkins-ci.org/commit/cvs-plugin/1c6ddef1e5c1c3fe9f1a236fe4cc3aa336b8ca21 Log: Merge pull request #5 from mc1arke/master Overhaul of the cvs plugin Changes: Allowing checking out modules from different branch/tags in a single repository ( JENKINS-768 , JENKINS-6812 ) Allowing multiple repositories in a single job i.e. multiple CVS roots ( JENKINS-2638 ) Using a Java CVS Library rather than depend on a system library ( JENKINS-49 , JENKINS-3848 , JENKINS-3756 , JENKINS-1676 ) Use 'rlog' for polling and change-log generation and 'rtag' for tagging ( JENKINS-6312 , JENKINS-10981 , JENKINS-11787 , JENKINS-1847 , JENKINS-1359 , JENKINS-76 , JENKINS-9809 , JENKINS-2710 , JENKINS-5744 , JENKINS-4604 ) Restrict CVS to only check-out configured modules and not other CVS items in the workspace ( JENKINS-7449 , JENKINS-2345 , JENKINS-4489 , JENKINS-1638 , JENKINS-528 ) Add check-box to allow disabling change-log generation per project ( JENKINS-3979 ) Leave CVS/Entries contents in their original encoding ( JENKINS-4241 , JENKINS-2614 ) Making CVS Prune (-p parameter) optional through job configuration ( JENKINS-1013 ) Improving warnings and validation ( JENKINS-9670 , JENKINS-9045 , JENKINS-7407 , JENKINS-3133 ) Fixing cyclic dependency with subversion plugin in POM ( JENKINS-10370 ) Fixing 'after-the-fact' tagging of builds ( JENKINS-8128 ) Improved date format on CVS commands ( JENKINS-6119 , JENKINS-7833 ) Allowing macro/parameter expansion on input fields ( JENKINS-2318 , JENKINS-3821 ) Fixing missing CVS change log entries when 'use head if not found' is used ( JENKINS-12104 ) Potentially also fixes: JENKINS-1737 : Alternative Quiet Period Implementation (untested - updated polling should fix this) JENKINS-10843 : CVS Update (defect is unclear) JENKINS-427 : Cannot check out alias modules from CVS (untested - using rlog should fix this) It's probably worth updating the version number in the POM to 2.0 given the number/scale of these changes, although this hasn't been included as part of this request. Compare: https://github.com/jenkinsci/cvs-plugin/compare/7b57474...1c6ddef
          Hide
          mc1arke Michael Clarke added a comment -

          Build tagging checks for permission to retain logs before trying to retain them as of version 2.0 so fixes this issue

          Show
          mc1arke Michael Clarke added a comment - Build tagging checks for permission to retain logs before trying to retain them as of version 2.0 so fixes this issue

            People

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

              Dates

              • Created:
                Updated:
                Resolved: