Skip to content

Commit

Permalink
[FIXED JENKINS-32214] WorkflowJob.poll should give preference to any …
Browse files Browse the repository at this point in the history
…SCMRevisionState from the latest running build.

Originally-Committed-As: 05e46bc4c66a5e0db4f5cced25f824d022b1d95a
  • Loading branch information
jglick committed Feb 18, 2016
1 parent 849573b commit 7d44f65
Showing 1 changed file with 14 additions and 2 deletions.
Expand Up @@ -57,6 +57,7 @@
import hudson.model.queue.SubTask;
import hudson.scm.PollingResult;
import hudson.scm.SCM;
import hudson.scm.SCMRevisionState;
import hudson.search.SearchIndexBuilder;
import hudson.security.ACL;
import hudson.slaves.WorkspaceList;
Expand All @@ -71,8 +72,8 @@
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import javax.annotation.CheckForNull;
Expand Down Expand Up @@ -471,6 +472,13 @@ public void addTrigger(Trigger trigger) {
listener.getLogger().println("no previous build to compare to");
return PollingResult.NO_CHANGES;
}
Map<String,SCMRevisionState> runningStates = new HashMap<String,SCMRevisionState>(); // JENKINS-32214
WorkflowRun b2 = getLastBuild();
if (b2 != null && b2 != b) {
for (WorkflowRun.SCMCheckout co : b2.checkouts(listener)) {
runningStates.put(co.scm.getKey(), co.pollingBaseline);
}
}
for (WorkflowRun.SCMCheckout co : b.checkouts(listener)) {
if (!co.scm.supportsPolling()) {
listener.getLogger().println("polling not supported from " + co.workspace + " on " + co.node);
Expand Down Expand Up @@ -504,7 +512,11 @@ public void addTrigger(Trigger trigger) {
}
PollingResult r;
try {
r = co.scm.compareRemoteRevisionWith(this, launcher, workspace, listener, co.pollingBaseline);
SCMRevisionState pollingBaseline = runningStates.get(co.scm.getKey());
if (pollingBaseline == null) {
pollingBaseline = co.pollingBaseline;
}
r = co.scm.compareRemoteRevisionWith(this, launcher, workspace, listener, pollingBaseline);
} finally {
if (lease != null) {
lease.release();
Expand Down

0 comments on commit 7d44f65

Please sign in to comment.