@@ -334,14 +334,15 @@ protected void retrieve(
334334 request .setBranches (gitLabApi .getRepositoryApi ().getBranches (gitlabProject ));
335335 }
336336 if (request .isFetchMRs () && gitlabProject .getMergeRequestsEnabled ()) {
337- if (!ctx .buildMRForksNotMirror () && gitlabProject .getForkedFromProject () != null ) {
337+ final boolean forkedFromProject = (gitlabProject .getForkedFromProject () != null );
338+ if (!ctx .buildMRForksNotMirror () && forkedFromProject ) {
338339 listener .getLogger ().format ("%nIgnoring merge requests as project is a mirror...%n" );
339340 } else {
340341 // If not authenticated GitLabApi cannot detect if it is a fork
341- // If `forkedFromProject` is null it doesn't mean anything
342+ // If `forkedFromProject` is false it doesn't mean anything
342343 listener .getLogger ()
343344 .format (
344- gitlabProject . getForkedFromProject () == null
345+ ! forkedFromProject
345346 ? "%nUnable to detect if it is a mirror or not still fetching MRs anyway...%n"
346347 : "%nCollecting MRs for fork except those that target its upstream...%n" );
347348 Stream <MergeRequest > mrs =
@@ -350,7 +351,8 @@ protected void retrieve(
350351 .getMergeRequests (gitlabProject , MergeRequestState .OPENED )
351352 .stream ()
352353 .filter (mr -> mr .getSourceProjectId () != null );
353- if (ctx .buildMRForksNotMirror ()) {
354+ // Patch for issue 453 - avoid an NPE if this isn't a forked project
355+ if (ctx .buildMRForksNotMirror () && forkedFromProject ) {
354356 mrs = mrs .filter (mr -> !mr .getTargetProjectId ()
355357 .equals (gitlabProject .getForkedFromProject ().getId ()));
356358 }
0 commit comments