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); + } + } + + } + }