[ 
https://issues.jenkins-ci.org/browse/JENKINS-6209?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

pgweiss updated JENKINS-6209:
-----------------------------

    Description: 
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:

{noformat}
<?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>
{noformat}
And because the resource is a pinned external, this code removes it from the 
revisions:

{noformat}
    @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);
    }
{noformat}

Then this code causes the error:

{noformat}
            // 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;
                }
            }
        }
{noformat}
because we've removed the key from baseline.revisions.

Not yet sure how to fix this.


  was:
I have a build where polling always returns:

Started on Apr 9, 2010 1:30:48 AM
Workspace doesn't contain 
http://svn.internal.itasoftware.com/svn/ita/trunk/java-projects/com.itasoftware.web.polaris/com.aircanada.res.console.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://svn.internal.itasoftware.com/svn/ita/trunk/java-projects/com.itasoftware.web.polaris/com.aircanada.res.console/src/main/ddl/305218
http://svn.internal.itasoftware.com/svn/ita/trunk/java-projects/com.itasoftware.web.polaris/com.itasoftware.base/358810
http://svn.internal.itasoftware.com/svn/ita/trunk/java-projects/com.itasoftware.web.polaris/com.aircanada.res.console.desktop/357413
http://svn.internal.itasoftware.com/svn/ita/trunk/java-projects/com.itasoftware.web.polaris/com.aircanada.res.console.resources/296160
http://svn.internal.itasoftware.com/svn/ita/trunk/java-projects/com.itasoftware.web.polaris/com.itasoftware.res.console.resources/357643
http://svn.internal.itasoftware.com/svn/ita/trunk/web-development/ops/applications/com.aircanada.res.console-httpd/343381
http://svn.internal.itasoftware.com/svn/ita/trunk/java-projects/com.itasoftware.web.polaris/com.itasoftware.ddlutils/357413
http://svn.internal.itasoftware.com/svn/ita/trunk/java-projects/com.itasoftware.web.polaris/com.itasoftware.sdk/360232
http://svn.internal.itasoftware.com/svn/ita/trunk/web-development/tools/maven/com.itasoftware.web.maven/360350
http://svn.internal.itasoftware.com/svn/ita/trunk/java-projects/com.itasoftware.web.polaris/com.aircanada.res.console/360531
http://svn.internal.itasoftware.com/svn/ita/trunk/java-projects/com.itasoftware.web.polaris/com.itasoftware.utilities/360193
http://svn.internal.itasoftware.com/svn/ita/trunk/java-projects/com.itasoftware.web.polaris/com.itasoftware.businessdata/358152
http://svn.internal.itasoftware.com/svn/ita/trunk/java-projects/com.itasoftware.web.polaris/com.itasoftware.resources/357413
http://svn.internal.itasoftware.com/svn/ita/trunk/java-projects/com.itasoftware.web.polaris/com.itasoftware.thirdparty.resources/357413
http://svn.internal.itasoftware.com/svn/ita/trunk/java-projects/com.itasoftware.web.polaris/com.itasoftware.res.console.doc/359896
http://svn.internal.itasoftware.com/svn/ita/trunk/web-development/ops/applications/com.aircanada.res.console-webapp/347246
http://svn.internal.itasoftware.com/svn/ita/trunk/java-projects/com.itasoftware.web.polaris/com.aircanada.utilities/359707

But the svnexternals.txt looks like this:

{noformat}
<?xml version='1.0' encoding='UTF-8'?>
<list>
  <external>
    <path>com.itasoftware.res.console.doc//ddl</path>
    
<url>http://svn.internal.itasoftware.com/svn/ita/trunk/java-projects/com.itasoftware.web.polaris/com.aircanada.res.console/src/main/ddl</url>
    <revision>305218</revision>
  </external>
  <external>
    
<path>com.itasoftware.res.console.doc//com.aircanada.res.console.resources</path>
    
<url>http://svn.internal.itasoftware.com/svn/ita/trunk/java-projects/com.itasoftware.web.polaris/com.aircanada.res.console.resources</url>
    <revision>296160</revision>
  </external>
</list>
{noformat}
And because the resource is a pinned external, this code removes it from the 
revisions:

{noformat}
    @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);
    }
{noformat}

Then this code causes the error:

{noformat}
            // 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;
                }
            }
        }
{noformat}
because we've removed the key from baseline.revisions.

Not yet sure how to fix this.


    
> Continuous polling bug in svn
> -----------------------------
>
>                 Key: JENKINS-6209
>                 URL: https://issues.jenkins-ci.org/browse/JENKINS-6209
>             Project: Jenkins
>          Issue Type: Bug
>          Components: subversion
>    Affects Versions: current
>            Reporter: pgweiss
>            Assignee: pgweiss
>
> 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:
> {noformat}
> <?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>
> {noformat}
> And because the resource is a pinned external, this code removes it from the 
> revisions:
> {noformat}
>     @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);
>     }
> {noformat}
> Then this code causes the error:
> {noformat}
>             // 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;
>                 }
>             }
>         }
> {noformat}
> because we've removed the key from baseline.revisions.
> Not yet sure how to fix this.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.jenkins-ci.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to