From 27d8f06f1baabb320cc86527250bed5a7dacf85e Mon Sep 17 00:00:00 2001 From: Jesse Glick Date: Fri, 1 Jul 2016 02:54:04 -0400 Subject: [PATCH] [JENKINS-35906] Ensure that SCMDescriptor.newInstance overrides are honored (#2426) * [FIXED JENKINS-35906] Ensure that SCMDescriptor.newInstance overrides are honored. * [FIXED JENKINS-36043] Work around fragile form submission design in multi-branch-project-plugin. (cherry picked from commit 1d176d1f19bfc717ffc335046539ffdd079efdf4) --- core/src/main/java/hudson/scm/SCMS.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/core/src/main/java/hudson/scm/SCMS.java b/core/src/main/java/hudson/scm/SCMS.java index 4f7f71e4b1..5a821eb1fc 100644 --- a/core/src/main/java/hudson/scm/SCMS.java +++ b/core/src/main/java/hudson/scm/SCMS.java @@ -56,7 +56,10 @@ public class SCMS { */ @SuppressWarnings("deprecation") public static SCM parseSCM(StaplerRequest req, AbstractProject target) throws FormException, ServletException { - SCM scm = req.bindJSON(SCM.class, req.getSubmittedForm().getJSONObject("scm")); + SCM scm = SCM.all().newInstanceFromRadioList(req.getSubmittedForm().getJSONObject("scm")); + if (scm == null) { + scm = new NullSCM(); // JENKINS-36043 workaround for AbstractMultiBranchProject.submit + } scm.getDescriptor().generation++; return scm; } -- GitLab