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

Jenkins doesn't detect CVS changes (polling)

    Details

    • Type: Bug
    • Status: Open (View Workflow)
    • Priority: Major
    • Resolution: Unresolved
    • Component/s: cvs-plugin
    • Labels:
      None
    • Similar Issues:

      Description

      Jenkins has stopped launching jobs when the CVS repository changes (unfortunately we are still stuck polling for now). In the "CVS Polling Log" for the job I see:

      CVS Polling Log
      Started on Nov 27, 2013 10:42:17 AM
      cvs rlog -S -d27 Nov 2013 08:26:12 -0700<27 Nov 2013 10:32:17 -0700 PROJECT
      cvs rlog: Logging PROJECT
      (snip)
      Done. Took 2.2 sec
      No changes

      And when I type the same command into the command line I get different results:

      cvs rlog -S -d"27 Nov 2013 08:26:12 -0700<27 Nov 2013 10:32:17 -0700" PROJECT
      cvs rlog: Logging PROJECT
      (snip)

      RCS file: CVS/PROJECT/FILE.txt,v
      head: 1.4
      branch:
      locks: strict
      access list:
      keyword substitution: o
      total revisions: 4; selected revisions: 1
      description:
      ----------------------------
      revision 1.4
      date: 2013-11-27 10:32:05 -0700; author: ME; state: Exp; lines: +0 -1; commitid: dNRJCnHf3vUMmWex;
      COMMENT
      =============================================================================

        Attachments

          Activity

          Hide
          cscooper Chris Shearer Cooper added a comment -

          Jenkins 1.537, CVS Plug-in 2.11, OSX 10.7.5, latest release of CVS (which isn't saying much)

          Show
          cscooper Chris Shearer Cooper added a comment - Jenkins 1.537, CVS Plug-in 2.11, OSX 10.7.5, latest release of CVS (which isn't saying much)
          Hide
          mc1arke Michael Clarke added a comment -

          I suspect this is something to do with the timezone in the timestamp: I may look at normalising the timestamp to be GMT to see if that resolves this issue.

          Show
          mc1arke Michael Clarke added a comment - I suspect this is something to do with the timezone in the timestamp: I may look at normalising the timestamp to be GMT to see if that resolves this issue.
          Hide
          cscooper Chris Shearer Cooper added a comment -

          When the plugin says it's executing "cvs rlog -S -d27 Nov 2013 08:26:12 -0700<27 Nov 2013 10:32:17 -0700 PROJECT", is it fibbing a little? That is to say, is the plugin actually executing the command with slightly different parameters, or maybe not actually calling cvs rlog at all?

          I find it odd that I can execute the exact same command and get different results...

          Show
          cscooper Chris Shearer Cooper added a comment - When the plugin says it's executing "cvs rlog -S -d27 Nov 2013 08:26:12 -0700<27 Nov 2013 10:32:17 -0700 PROJECT", is it fibbing a little? That is to say, is the plugin actually executing the command with slightly different parameters, or maybe not actually calling cvs rlog at all? I find it odd that I can execute the exact same command and get different results...
          Hide
          mc1arke Michael Clarke added a comment -

          No lying: it is running the command, and in that format, check the source if you're uncertain. Remember that you're running it using a different CVS client which may modify the command that's passed to the CVS server, or handles the server response differently.

          Show
          mc1arke Michael Clarke added a comment - No lying: it is running the command, and in that format, check the source if you're uncertain. Remember that you're running it using a different CVS client which may modify the command that's passed to the CVS server, or handles the server response differently.
          Hide
          steve_brown Steve Brown added a comment -

          I am having the same issue, cvs client detects changes when running the rlog command in the polling log but the plugin does not detect changes.

          $ cvs version
          Client: Concurrent Versions System (CVSNT) 2.0.51d (client/server)
          Server: Concurrent Versions System (CVSNT) 2.5.04 (Zen) Build 3236 () (client/server)

          Plugin version 2.11

          I grabbed packet captures for the client and plugin both "executing" $cvs rlog -S -d06 Jun 2014 09:38:38 +1000<06 Jun 2014 15:45:18 +1000 my_module

          The relevant parts of the captures are

          Client
          ...
          Argument -d
          Argument 5 Jun 2014 23:38:38 -0000<6 Jun 2014 05:45:18 -0000
          Argument -S
          Argument –
          Argument my_module
          rlog
          ...
          M date: 2014/06/05 23:40:44; author: me; state: Exp; lines: +1 -1; kopt: kv; commitid: 12205390fffb0963; filename: my_file;
          ...

          Plugin
          ...
          Argument -S
          Argument -d06 Jun 2014 09:38:38 +1000<06 Jun 2014 15:45:18 +1000
          Argument my_module
          rlog
          ...
          "no changes reported"

          I then hacked AbstractCvs.java to set the DATE_FORMATTER timezone to "GMT" in getRemoteLogForModule(). This change fixed the plugin for me and it now correctly detect changes in the repository.

          Show
          steve_brown Steve Brown added a comment - I am having the same issue, cvs client detects changes when running the rlog command in the polling log but the plugin does not detect changes. $ cvs version Client: Concurrent Versions System (CVSNT) 2.0.51d (client/server) Server: Concurrent Versions System (CVSNT) 2.5.04 (Zen) Build 3236 () (client/server) Plugin version 2.11 I grabbed packet captures for the client and plugin both "executing" $cvs rlog -S -d06 Jun 2014 09:38:38 +1000<06 Jun 2014 15:45:18 +1000 my_module The relevant parts of the captures are Client ... Argument -d Argument 5 Jun 2014 23:38:38 -0000<6 Jun 2014 05:45:18 -0000 Argument -S Argument – Argument my_module rlog ... M date: 2014/06/05 23:40:44; author: me; state: Exp; lines: +1 -1; kopt: kv; commitid: 12205390fffb0963; filename: my_file; ... Plugin ... Argument -S Argument -d06 Jun 2014 09:38:38 +1000<06 Jun 2014 15:45:18 +1000 Argument my_module rlog ... "no changes reported" I then hacked AbstractCvs.java to set the DATE_FORMATTER timezone to "GMT" in getRemoteLogForModule(). This change fixed the plugin for me and it now correctly detect changes in the repository.

            People

            • Assignee:
              Unassigned
              Reporter:
              cscooper Chris Shearer Cooper
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated: