From 02e16af0b83d689732bf0e288825f96b40c8b8b7 Mon Sep 17 00:00:00 2001 From: Jesse Glick Date: Thu, 29 Oct 2015 16:41:14 -0400 Subject: [PATCH] Need to ensure that SCMSource.setOwner is called whenever getSourcesList() is modified. --- .../jenkins/branch/MultiBranchProject.java | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/main/java/jenkins/branch/MultiBranchProject.java b/src/main/java/jenkins/branch/MultiBranchProject.java index 901c3710..debd2073 100644 --- a/src/main/java/jenkins/branch/MultiBranchProject.java +++ b/src/main/java/jenkins/branch/MultiBranchProject.java @@ -89,7 +89,7 @@ public abstract class MultiBranchProject

& TopLevelItem, /** * The user supplied branch sources. */ - private /*almost final*/ PersistedList sources = new PersistedList(this); + private /*almost final*/ PersistedList sources = new BranchSourceList(this); /** * The source for dead branches. @@ -675,4 +675,20 @@ public static String rawDecode(@NonNull String s) { } } + private static class BranchSourceList extends PersistedList { + + BranchSourceList(MultiBranchProject owner) { + super(owner); + } + + @Override + protected void onModified() throws IOException { + super.onModified(); + for (BranchSource branchSource : this) { + branchSource.getSource().setOwner((MultiBranchProject) owner); + } + } + + } + }