Merge pull request #913 from akv-platform/v-sdolin/push-ref

Skip deleting the branch in the upstream of a forked repo
This commit is contained in:
Sergey Dolin 2023-01-26 08:58:51 +01:00 committed by GitHub
commit c4a13d8dca
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 1352 additions and 1326 deletions

View File

@ -130,7 +130,8 @@ class IssuesProcessorBuilder {
number: 0, number: 0,
draft: true, draft: true,
head: { head: {
ref: 'ref' ref: 'ref',
repo: null
} }
}); });
} }

2625
dist/index.js vendored

File diff suppressed because it is too large Load Diff

View File

@ -921,26 +921,41 @@ export class IssuesProcessor {
} }
const branch = pullRequest.head.ref; const branch = pullRequest.head.ref;
issueLogger.info(
`Deleting the branch "${LoggerService.cyan(branch)}" from closed $$type`
);
try { if (
this._consumeIssueOperation(issue); pullRequest.head.repo === null ||
this.statistics?.incrementDeletedBranchesCount(); pullRequest.head.repo.full_name ===
`${context.repo.owner}/${context.repo.repo}`
) {
issueLogger.info(
`Deleting the branch "${LoggerService.cyan(branch)}" from closed $$type`
);
if (!this.options.debugOnly) { try {
await this.client.rest.git.deleteRef({ this._consumeIssueOperation(issue);
owner: context.repo.owner, this.statistics?.incrementDeletedBranchesCount();
repo: context.repo.repo,
ref: `heads/${branch}` if (!this.options.debugOnly) {
}); await this.client.rest.git.deleteRef({
owner: context.repo.owner,
repo: context.repo.repo,
ref: `heads/${branch}`
});
}
} catch (error) {
issueLogger.error(
`Error when deleting the branch "${LoggerService.cyan(
branch
)}" from $$type: ${error.message}`
);
} }
} catch (error) { } else {
issueLogger.error( issueLogger.warning(
`Error when deleting the branch "${LoggerService.cyan( `Deleting the branch "${LoggerService.cyan(
branch branch
)}" from $$type: ${error.message}` )}" has skipped because it belongs to other repo ${
pullRequest.head.repo.full_name
}`
); );
} }
} }

View File

@ -2,6 +2,9 @@ export interface IPullRequest {
number: number; number: number;
head: { head: {
ref: string; ref: string;
repo: {
full_name: string;
} | null;
}; };
draft?: boolean; draft?: boolean;
} }