Skip deleting the branch in the upstream of a forkerd repo

This commit is contained in:
Sergey Dolin 2023-01-24 07:40:23 +00:00
parent b1e5ead0b2
commit dad3c0f9e0
2 changed files with 34 additions and 16 deletions

View File

@ -921,26 +921,41 @@ export class IssuesProcessor {
}
const branch = pullRequest.head.ref;
issueLogger.info(
`Deleting the branch "${LoggerService.cyan(branch)}" from closed $$type`
);
try {
this._consumeIssueOperation(issue);
this.statistics?.incrementDeletedBranchesCount();
if (
pullRequest.head.repo === null ||
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) {
await this.client.rest.git.deleteRef({
owner: context.repo.owner,
repo: context.repo.repo,
ref: `heads/${branch}`
});
try {
this._consumeIssueOperation(issue);
this.statistics?.incrementDeletedBranchesCount();
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) {
issueLogger.error(
`Error when deleting the branch "${LoggerService.cyan(
} else {
issueLogger.warning(
`Deleting the branch "${LoggerService.cyan(
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;
head: {
ref: string;
repo: {
full_name: string;
} | null;
};
draft?: boolean;
}