Details

  • Type: Bug Bug
  • Status: Verified Verified
  • Priority: Blocker Blocker
  • Resolution: Cannot Reproduce
  • Affects Version/s: None
  • Fix Version/s: 2.0.1
  • Component/s: cvs
  • Labels:
    None
  • Environment:
    Windows XP
    Tomcat 6.0.20
    CVS (server) 1.11.17
    CVS (client) CVSNT 2.5.03 Build 2382
    Hudson 1.354

Description

I get the following error (see below, where the server address is replaced by <<addrees>>).
The "work around" it to set the environment variable CATALINA_OPTS to -Dhudson.scm.CVSSCM.skipChangeLog=true,
but I prefer to have the problem fixed.

ERROR: cvs exited with error code 1
Command line was [Executing 'cvs' with arguments:
'-d:ssh:<<address>>:/cvsroot/test'
'log'
'-d'
'>=2010-04-19'

The ' characters around the executable and arguments are
not part of the command.
] in C:\project
Input text:
START==>null<==END
Working directory is C:/project
cvs exited with error code 1
Command line was [Executing 'cvs' with arguments:
'-d:ssh:<<address>>:/cvsroot/test'
'log'
'-d'
'>=2010-04-19'

The ' characters around the executable and arguments are
not part of the command.
] in C:\project
Input text:
START==>null<==END
at hudson.org.apache.tools.ant.taskdefs.AbstractCvsTask.runCommand(AbstractCvsTask.java:387)
at hudson.org.apache.tools.ant.taskdefs.AbstractCvsTask.execute(AbstractCvsTask.java:457)
at hudson.org.apache.tools.ant.taskdefs.cvslib.ChangeLogTask.execute(ChangeLogTask.java:293)
at hudson.scm.CVSSCM$4.invoke(CVSSCM.java:910)
at hudson.scm.CVSSCM$4.invoke(CVSSCM.java:839)
at hudson.FilePath.act(FilePath.java:747)
at hudson.FilePath.act(FilePath.java:729)
at hudson.scm.CVSSCM.calcChangeLog(CVSSCM.java:839)
at hudson.scm.CVSSCM.checkout(CVSSCM.java:408)
at hudson.model.AbstractProject.checkout(AbstractProject.java:1044)
at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:479)
at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:411)
at hudson.model.Run.run(Run.java:1244)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:122)
Recording test results
Finished: FAILURE

Activity

Hide
mindless added a comment -

what does that command do from the cmd prompt?

Show
mindless added a comment - what does that command do from the cmd prompt?
Hide
bergtwvd added a comment -

To run the cvs command from the (CMD.EXE) command line I need to omit the single quotes ("'").

Thus, the following cvs arguments do not work:
'-d:ssh:<address>:/cvsroot/test'
'log'
'-d'
'>=2010-04-26'

But the following do work, generating lots of output:
-d:ssh:<address>:/cvsroot/test
log
-d
">=2010-04-26"

Where I replaced the server URL by <address>.

Show
bergtwvd added a comment - To run the cvs command from the (CMD.EXE) command line I need to omit the single quotes ("'"). Thus, the following cvs arguments do not work: '-d:ssh:<address>:/cvsroot/test' 'log' '-d' '>=2010-04-26' But the following do work, generating lots of output: -d:ssh:<address>:/cvsroot/test log -d ">=2010-04-26" Where I replaced the server URL by <address>.
Hide
bergtwvd added a comment -

While scanning through some of the Hudson source files, it seems that the problem is that the date with the '-d' option is not surrounded by double quotes.

ChangeLogTask.java (r24921):

271 // We want something of the form: -d ">=YYYY-MM-dd"
272 final String dateRange = ">=" + outputDate.format(safeStart);
273
274 // Supply '-d' as a separate argument - Bug# 14397
275 addCommandArgument("-d");
276 addCommandArgument(dateRange);

No double quotes are added to dateRange.
276 should read something like: addCommandArgument('"' + dateRange + '"');

Currently this issue blocks our migration from CruiseControl to Hudson. We rely on an overview of the changes per build to track down build problems. With this issue in Hudson this is currently not possible. Would it be possible to incorporate and test this fix?

Show
bergtwvd added a comment - While scanning through some of the Hudson source files, it seems that the problem is that the date with the '-d' option is not surrounded by double quotes. ChangeLogTask.java (r24921): 271 // We want something of the form: -d ">=YYYY-MM-dd" 272 final String dateRange = ">=" + outputDate.format(safeStart); 273 274 // Supply '-d' as a separate argument - Bug# 14397 275 addCommandArgument("-d"); 276 addCommandArgument(dateRange); No double quotes are added to dateRange. 276 should read something like: addCommandArgument('"' + dateRange + '"'); Currently this issue blocks our migration from CruiseControl to Hudson. We rely on an overview of the changes per build to track down build problems. With this issue in Hudson this is currently not possible. Would it be possible to incorporate and test this fix?
Hide
andrewrich added a comment -

We are seeing the same problem. Hudson's "cvs log" command is not quoting the date string properly; it should be double quoted.

Hudson 1.371.

Show
andrewrich added a comment - We are seeing the same problem. Hudson's "cvs log" command is not quoting the date string properly; it should be double quoted. Hudson 1.371.
Hide
andrewrich added a comment -

Upgraded to "blocker" because with this bug, CVS projects with branches simply cannot be built.

Show
andrewrich added a comment - Upgraded to "blocker" because with this bug, CVS projects with branches simply cannot be built.
Hide
nevil added a comment -

Is this issue still reproducible? Please, try to upgrade to latest hudson (2.0.0) version

Show
nevil added a comment - Is this issue still reproducible? Please, try to upgrade to latest hudson (2.0.0) version
Hide
c_rohde added a comment -

We're still experiencing this issue with Hudson 2.2.0 and 3.0.0M0

Show
c_rohde added a comment - We're still experiencing this issue with Hudson 2.2.0 and 3.0.0M0

People

  • Assignee:
    Unassigned
    Reporter:
    bergtwvd
Vote (7)
Watch (9)

Dates

  • Created:
    Updated:
    Resolved: