-
Patch
-
Resolution: Fixed
-
Critical
-
None
-
cvs - 1.12.13-12
java version "1.6.0_20"
Debian GNU/Linux testing (squeeze)
-
Powered by SuggestiMate
Hudson is failing to calculate the changelog when the server has cvs 1.12.x installed.
Here is the Hudson's console output:
$ computing changelog
cvs [log aborted]: Can't parse date/time: `2010-10-17'
ERROR: cvs exited with error code 1
Command line was [Executing '/usr/bin/cvs' with arguments:
'-d:pserver:user@host:path'
'log'
'-S'
'-d'
'>=2010-10-17'
'module'
Going straight to the command line I can also reproduce this easilly by issuing:
$ CVS_PASSFILE=/opt/hudson/.cvspass /usr/bin/cvs -d:pserver:user@host:path log -S -d ">=2010-10-17" module
cvs [log aborted]: Can't parse date/time: `2010-10-17'
Now if I issue this command (notice that the date pattern changed)
$ CVS_PASSFILE=/opt/hudson/.cvspass /usr/bin/cvs -d:pserver:user@host:path log -S -d ">=2010-10-17 10:10" module
<normal output...>
From what've googled, seems like there are some differences on how dates are treated in CVS 1.11 and 1.12.
- "YYYY-MM-dd" works only in 1.11
- "YYYY-MM-dd HH:mm" works in 1.11 and 1.12.
So I guess we can change this pattern to something that works on both versions, I'm attaching a patch that does just that.
I found some nice commentaries about an issue just like this in Maven-SCM's JIRA, here's the link: http://jira.codehaus.org/browse/SCM-291
I must add that I'm already running a patched CVS plugin in my Hudson installation and it works just great. I hope you accept this patch because maintaining this would be terrible.
[JENKINS-7833] Hudson fails to calculate changelog with CVS 1.12
Same issue here.
Weird thing I've noticed: today is Oct 19, but error messages still reporting '2010-10-17':
Started by timer
Building on master
[workspace] $ cvs -q update -PdC -D "Tuesday, October 19, 2010 3:11:06 AM UTC"
U target/.project
$ computing changelog
cvs [log aborted]: Can't parse date/time: `2010-10-17'
ERROR: cvs exited with error code 1
Command line was [Executing 'cvs' with arguments:
'-d:pserver:user@localhost:/dados/cvsrep/cdc'
'log'
'-d'
'>=2010-10-17'
'--'
'target/.project'
The ' characters around the executable and arguments are
not part of the command.
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
Timestamps have been modified to use seconds in version 2.0 of the cvs plugin which resolves this issue
Same issue here.
Weird thing I've noticed: today is Oct 19, but error messages still reporting '2010-10-17':
Started by timer
Building on master
[workspace] $ cvs -q update -PdC -D "Tuesday, October 19, 2010 3:11:06 AM UTC"
U target/.project
$ computing changelog
cvs [log aborted]: Can't parse date/time: `2010-10-17'
ERROR: cvs exited with error code 1
Command line was [Executing 'cvs' with arguments:
'-d:pserver:user@localhost:/dados/cvsrep/cdc'
'log'
'-d'
'>=2010-10-17'
'--'
'target/.project'
The ' characters around the executable and arguments are
not part of the command.