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

Continuous polling bug in svn

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Critical Critical
    • subversion-plugin
    • None

      I have a build where polling always returns:

      Started on Apr 9, 2010 1:30:48 AM
      Workspace doesn't contain http://host/trunk/java-projects/project/com.cut.xyz.resources. Need a new build.
      Done. Took 1.1 sec
      Changes found

      even though there have been no changes.

      The reason is that the resource is checked out directly as an svn resources, but also occurs as a pinned external in a different svn resource.

      Therefore, the revision.txt of the build looks like this:

      [lastStable] dlpweiss01| cat revision.txt
      http://host/trunk/java-projects/project/com.cut.xyz/src/main/ddl/305218
      http://host/trunk/java-projects/project/com.us.base/358810
      http://host/trunk/java-projects/project/com.cut.xyz.desktop/357413
      http://host/trunk/java-projects/project/com.cut.xyz.resources/296160
      http://host/trunk/java-projects/project/com.us.xyz.resources/357643
      http://host/trunk/web-development/ops/applications/com.cut.xyz-httpd/343381
      http://host/trunk/java-projects/project/com.us.ddlutils/357413
      http://host/trunk/java-projects/project/com.us.sdk/360232
      http://host/trunk/web-development/tools/maven/com.us.web.maven/360350
      http://host/trunk/java-projects/project/com.cut.xyz/360531
      http://host/trunk/java-projects/project/com.us.utilities/360193
      http://host/trunk/java-projects/project/com.us.businessdata/358152
      http://host/trunk/java-projects/project/com.us.resources/357413
      http://host/trunk/java-projects/project/com.us.thirdparty.resources/357413
      http://host/trunk/java-projects/project/com.us.xyz.doc/359896
      http://host/trunk/web-development/ops/applications/com.cut.xyz-webapp/347246
      http://host/trunk/java-projects/project/com.cut.utilities/359707

      But the svnexternals.txt looks like this:

      <?xml version='1.0' encoding='UTF-8'?>
      <list>
        <external>
          <path>com.us.xyz.doc//ddl</path>
          <url>http://host/trunk/java-projects/project/com.cut.xyz/src/main/ddl</url>
          <revision>305218</revision>
        </external>
        <external>
          <path>com.us.xyz.doc//com.cut.xyz.resources</path>
          <url>http://host/trunk/java-projects/project/com.cut.xyz.resources</url>
          <revision>296160</revision>
        </external>
      </list>
      

      And because the resource is a pinned external, this code removes it from the revisions:

          @Override
          public SCMRevisionState calcRevisionsFromBuild(AbstractBuild<?, ?> build, Launcher launcher, TaskListener listener) throws IOException, InterruptedException {
              // exclude locations that are svn:external-ed with a fixed revision.                                                                                                       
              Map<String,Long> wsRev = parseRevisionFile(build,true);
              for (External e : parseExternalsFile(build.getProject()))
                  if (e.isRevisionFixed())
                      wsRev.remove(e.url);
              return new SVNRevisionState(wsRev);
          }
      

      Then this code causes the error:

                  // are the locations checked out in the workspace consistent with the current configuration?                                                                           
                  for (ModuleLocation loc : getLocations(lastCompletedBuild)) {
                      if (!baseline.revisions.containsKey(loc.getURL())) {
                          listener.getLogger().println(
                                  Messages.SubversionSCM_pollChanges_locationNotInWorkspace(loc.getURL()));
                          return BUILD_NOW;
                      }
                  }
              }
      

      because we've removed the key from baseline.revisions.

      Not yet sure how to fix this.

            ronenpg Ronen Peleg
            pgweiss pgweiss
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: