@@ -334,14 +334,15 @@ protected void retrieve(
334
334
request .setBranches (gitLabApi .getRepositoryApi ().getBranches (gitlabProject ));
335
335
}
336
336
if (request .isFetchMRs () && gitlabProject .getMergeRequestsEnabled ()) {
337
- if (!ctx .buildMRForksNotMirror () && gitlabProject .getForkedFromProject () != null ) {
337
+ final boolean forkedFromProject = (gitlabProject .getForkedFromProject () != null );
338
+ if (!ctx .buildMRForksNotMirror () && forkedFromProject ) {
338
339
listener .getLogger ().format ("%nIgnoring merge requests as project is a mirror...%n" );
339
340
} else {
340
341
// 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
342
343
listener .getLogger ()
343
344
.format (
344
- gitlabProject . getForkedFromProject () == null
345
+ ! forkedFromProject
345
346
? "%nUnable to detect if it is a mirror or not still fetching MRs anyway...%n"
346
347
: "%nCollecting MRs for fork except those that target its upstream...%n" );
347
348
Stream <MergeRequest > mrs =
@@ -350,7 +351,8 @@ protected void retrieve(
350
351
.getMergeRequests (gitlabProject , MergeRequestState .OPENED )
351
352
.stream ()
352
353
.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 ) {
354
356
mrs = mrs .filter (mr -> !mr .getTargetProjectId ()
355
357
.equals (gitlabProject .getForkedFromProject ().getId ()));
356
358
}
0 commit comments