• Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Blocker Blocker
    • cvs-plugin
    • None
    • Linux redhat 2.6.18-164.15.1.el5
      Tomcat 7.0.2
      Hudson 1.381
      CVS plugin 1.2

      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.

          [JENKINS-8128] Tagging a build is not working

          Alan Harder added a comment -

          Unassigning.. as I don't use cvs I don't think I can spend any more time digging into this. Perhaps you can find someone who does use this plugin to help, or try debugging/fixing yourself. Otherwise you can try cvs plugin version 1.1 and see if that still works (w/o the "all upstream" option checked), or if something else changed to cause this problem. Good luck..

          Alan Harder added a comment - Unassigning.. as I don't use cvs I don't think I can spend any more time digging into this. Perhaps you can find someone who does use this plugin to help, or try debugging/fixing yourself. Otherwise you can try cvs plugin version 1.1 and see if that still works (w/o the "all upstream" option checked), or if something else changed to cause this problem. Good luck..

          fernandor added a comment -

          How could I downgrade the cvs plugin? It does not give-me the option.

          fernandor added a comment - How could I downgrade the cvs plugin? It does not give-me the option.

          Alan Harder added a comment -

          On the advanced tab you can provide a file to upload.. get v1.1 from http://jenkins-ci.org/download/plugins/cvs/
          Or you can just drop the file in your $HUDSON_HOME/plugins dir and restart.

          Alan Harder added a comment - On the advanced tab you can provide a file to upload.. get v1.1 from http://jenkins-ci.org/download/plugins/cvs/ Or you can just drop the file in your $HUDSON_HOME/plugins dir and restart.

          Im having this issue on v1.4 and v1.1

          Tomas Boremalm added a comment - Im having this issue on v1.4 and v1.1

          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.

          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.

          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(!?)

          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(!?)

          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.

          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.

          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

          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

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

          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

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

              Created:
              Updated:
              Resolved: