backport
Version:
A CLI tool that automates the process of backporting commits
721 lines (720 loc) • 29.4 kB
TypeScript
/** Internal type. DO NOT USE DIRECTLY. */
type Exact<T extends {
[key: string]: unknown;
}> = {
[K in keyof T]: T[K];
};
/** Internal type. DO NOT USE DIRECTLY. */
export type Incremental<T> = T | {
[P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never;
};
import { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';
/** Represents available types of methods to use when merging a pull request. */
export type PullRequestMergeMethod =
/** Add all commits from the head branch to the base branch with a merge commit. */
'MERGE'
/** Add all commits from the head branch onto the base branch individually. */
| 'REBASE'
/** Combine all commits from the head branch into a single commit in the base branch. */
| 'SQUASH';
/** The possible states of a pull request. */
export type PullRequestState =
/** A pull request that has been closed without being merged. */
'CLOSED'
/** A pull request that has been closed by being merged. */
| 'MERGED'
/** A pull request that is still open. */
| 'OPEN';
export type GetViewerQueryVariables = Exact<{
[key: string]: never;
}>;
export type GetViewerQuery = {
viewer: {
login: string;
};
};
export type GetRepoQueryVariables = Exact<{
repoOwner: string;
repoName: string;
}>;
export type GetRepoQuery = {
repository: {
name: string;
} | null;
};
export type DisablePullRequestAutoMergeMutationVariables = Exact<{
pullRequestId: string | number;
}>;
export type DisablePullRequestAutoMergeMutation = {
disablePullRequestAutoMerge: {
pullRequest: {
number: number;
} | null;
} | null;
};
export type EnablePullRequestAutoMergeMutationVariables = Exact<{
pullRequestId: string | number;
mergeMethod: PullRequestMergeMethod;
}>;
export type EnablePullRequestAutoMergeMutation = {
enablePullRequestAutoMerge: {
pullRequest: {
number: number;
} | null;
} | null;
};
export type AuthorIdQueryVariables = Exact<{
author: string;
}>;
export type AuthorIdQuery = {
user: {
id: string;
} | null;
};
export type ExistingPullRequestQueryVariables = Exact<{
repoOwner: string;
repoName: string;
base: string;
head: string;
}>;
export type ExistingPullRequestQuery = {
repository: {
name: string;
ref: {
name: string;
associatedPullRequests: {
edges: Array<{
node: {
number: number;
url: unknown;
} | null;
} | null> | null;
};
} | null;
} | null;
};
export type PullRequestAutoMergeMethodQueryVariables = Exact<{
repoOwner: string;
repoName: string;
pr: number;
}>;
export type PullRequestAutoMergeMethodQuery = {
repository: {
pullRequest: {
autoMergeRequest: {
enabledAt: unknown;
mergeMethod: PullRequestMergeMethod;
} | null;
} | null;
} | null;
};
export type PullRequestIdQueryVariables = Exact<{
repoOwner: string;
repoName: string;
pr: number;
}>;
export type PullRequestIdQuery = {
repository: {
pullRequest: {
id: string;
} | null;
} | null;
};
export type CommitByPullNumberQueryVariables = Exact<{
repoOwner: string;
repoName: string;
pr: number;
}>;
export type CommitByPullNumberQuery = {
repository: {
pullRequest: {
commits: {
totalCount: number;
edges: Array<{
node: {
commit: {
message: string;
};
} | null;
} | null> | null;
};
mergeCommit: {
oid: unknown;
committedDate: unknown;
history: {
edges: Array<{
node: {
message: string;
committedDate: unknown;
} | null;
} | null> | null;
};
} | null;
} | null;
} | null;
};
export type CommitsByShaQueryVariables = Exact<{
repoOwner: string;
repoName: string;
sha: string;
}>;
export type CommitsByShaQuery = {
repository: {
object: {
__typename: 'Blob';
} | {
__typename: 'Commit';
message: string;
committedDate: unknown;
sha: unknown;
repository: {
name: string;
owner: {
login: string;
} | {
login: string;
};
};
author: {
name: string | null;
email: string | null;
} | null;
associatedPullRequests: {
edges: Array<{
node: {
title: string;
url: unknown;
number: number;
baseRefName: string;
labels: {
nodes: Array<{
name: string;
} | null> | null;
} | null;
mergeCommit: {
__typename: 'Commit';
message: string;
sha: unknown;
remoteConfigHistory: {
edges: Array<{
remoteConfig: {
committedDate: unknown;
file: {
__typename: 'TreeEntry';
object: {
__typename: 'Blob';
text: string | null;
} | Record<PropertyKey, never> | null;
} | null;
} | null;
} | null> | null;
};
} | null;
timelineItems: {
edges: Array<{
node: {
__typename: 'CrossReferencedEvent';
targetPullRequest: {
__typename: 'Issue';
} | {
__typename: 'PullRequest';
url: unknown;
title: string;
state: PullRequestState;
baseRefName: string;
number: number;
targetMergeCommit: {
message: string;
sha: unknown;
} | null;
repository: {
name: string;
owner: {
login: string;
} | {
login: string;
};
};
commits: {
edges: Array<{
node: {
targetCommit: {
message: string;
sha: unknown;
};
} | null;
} | null> | null;
};
};
} | Record<PropertyKey, never> | null;
} | null> | null;
};
} | null;
} | null> | null;
} | null;
} | {
__typename: 'Tag';
} | {
__typename: 'Tree';
} | null;
} | null;
};
export type CommitsByAuthorQueryVariables = Exact<{
authorId?: string | number | null | undefined;
commitPath?: string | null | undefined;
since?: unknown;
until?: unknown;
maxCount: number;
repoName: string;
repoOwner: string;
sourceBranch: string;
}>;
export type CommitsByAuthorQuery = {
repository: {
ref: {
target: {
__typename: 'Commit';
history: {
edges: Array<{
node: {
__typename: 'Commit';
message: string;
committedDate: unknown;
sha: unknown;
repository: {
name: string;
owner: {
login: string;
} | {
login: string;
};
};
author: {
name: string | null;
email: string | null;
} | null;
associatedPullRequests: {
edges: Array<{
node: {
title: string;
url: unknown;
number: number;
baseRefName: string;
labels: {
nodes: Array<{
name: string;
} | null> | null;
} | null;
mergeCommit: {
__typename: 'Commit';
message: string;
sha: unknown;
remoteConfigHistory: {
edges: Array<{
remoteConfig: {
committedDate: unknown;
file: {
__typename: 'TreeEntry';
object: {
__typename: 'Blob';
text: string | null;
} | Record<PropertyKey, never> | null;
} | null;
} | null;
} | null> | null;
};
} | null;
timelineItems: {
edges: Array<{
node: {
__typename: 'CrossReferencedEvent';
targetPullRequest: {
__typename: 'Issue';
} | {
__typename: 'PullRequest';
url: unknown;
title: string;
state: PullRequestState;
baseRefName: string;
number: number;
targetMergeCommit: {
message: string;
sha: unknown;
} | null;
repository: {
name: string;
owner: {
login: string;
} | {
login: string;
};
};
commits: {
edges: Array<{
node: {
targetCommit: {
message: string;
sha: unknown;
};
} | null;
} | null> | null;
};
};
} | Record<PropertyKey, never> | null;
} | null> | null;
};
} | null;
} | null> | null;
} | null;
} | null;
} | null> | null;
};
} | Record<PropertyKey, never> | null;
} | null;
} | null;
};
export type CommitsForRebaseAndMergeStrategyQueryVariables = Exact<{
repoOwner: string;
repoName: string;
pr: number;
commitsTotalCount: number;
}>;
export type CommitsForRebaseAndMergeStrategyQuery = {
repository: {
pullRequest: {
number: number;
commits: {
totalCount: number;
edges: Array<{
node: {
commit: {
message: string;
};
} | null;
} | null> | null;
};
mergeCommit: {
committedDate: unknown;
history: {
edges: Array<{
node: {
oid: unknown;
message: string;
committedDate: unknown;
associatedPullRequests: {
edges: Array<{
node: {
number: number;
} | null;
} | null> | null;
} | null;
} | null;
} | null> | null;
};
} | null;
} | null;
} | null;
};
export type PullRequestBySearchQueryQueryVariables = Exact<{
query: string;
maxCount: number;
}>;
export type PullRequestBySearchQueryQuery = {
search: {
nodes: Array<{
__typename: 'PullRequest';
mergeCommit: {
__typename: 'Commit';
message: string;
committedDate: unknown;
sha: unknown;
repository: {
name: string;
owner: {
login: string;
} | {
login: string;
};
};
author: {
name: string | null;
email: string | null;
} | null;
associatedPullRequests: {
edges: Array<{
node: {
title: string;
url: unknown;
number: number;
baseRefName: string;
labels: {
nodes: Array<{
name: string;
} | null> | null;
} | null;
mergeCommit: {
__typename: 'Commit';
message: string;
sha: unknown;
remoteConfigHistory: {
edges: Array<{
remoteConfig: {
committedDate: unknown;
file: {
__typename: 'TreeEntry';
object: {
__typename: 'Blob';
text: string | null;
} | Record<PropertyKey, never> | null;
} | null;
} | null;
} | null> | null;
};
} | null;
timelineItems: {
edges: Array<{
node: {
__typename: 'CrossReferencedEvent';
targetPullRequest: {
__typename: 'Issue';
} | {
__typename: 'PullRequest';
url: unknown;
title: string;
state: PullRequestState;
baseRefName: string;
number: number;
targetMergeCommit: {
message: string;
sha: unknown;
} | null;
repository: {
name: string;
owner: {
login: string;
} | {
login: string;
};
};
commits: {
edges: Array<{
node: {
targetCommit: {
message: string;
sha: unknown;
};
} | null;
} | null> | null;
};
};
} | Record<PropertyKey, never> | null;
} | null> | null;
};
} | null;
} | null> | null;
} | null;
} | null;
} | Record<PropertyKey, never> | null> | null;
};
};
export type RepoOwnerAndNameQueryVariables = Exact<{
repoOwner: string;
repoName: string;
}>;
export type RepoOwnerAndNameQuery = {
repository: {
isFork: boolean;
name: string;
owner: {
login: string;
} | {
login: string;
};
parent: {
owner: {
login: string;
} | {
login: string;
};
} | null;
} | null;
};
export type GithubConfigOptionsQueryVariables = Exact<{
repoOwner: string;
repoName: string;
}>;
export type GithubConfigOptionsQuery = {
viewer: {
login: string;
};
repository: {
isPrivate: boolean;
illegalBackportBranch: {
id: string;
} | null;
defaultBranchRef: {
name: string;
target: {
__typename: 'Blob';
} | {
__typename: 'Commit';
remoteConfigHistory: {
edges: Array<{
remoteConfig: {
committedDate: unknown;
file: {
__typename: 'TreeEntry';
object: {
__typename: 'Blob';
text: string | null;
} | Record<PropertyKey, never> | null;
} | null;
} | null;
} | null> | null;
};
} | {
__typename: 'Tag';
} | {
__typename: 'Tree';
} | null;
} | null;
} | null;
};
export type GetBranchIdQueryVariables = Exact<{
repoOwner: string;
repoName: string;
branchName: string;
}>;
export type GetBranchIdQuery = {
repository: {
ref: {
id: string;
} | null;
} | null;
};
export type RemoteConfigHistoryFragmentFragment = {
remoteConfigHistory: {
edges: Array<{
remoteConfig: {
committedDate: unknown;
file: {
__typename: 'TreeEntry';
object: {
__typename: 'Blob';
text: string | null;
} | Record<PropertyKey, never> | null;
} | null;
} | null;
} | null> | null;
};
};
export type SourceCommitWithTargetPullRequestFragmentFragment = {
__typename: 'Commit';
message: string;
committedDate: unknown;
sha: unknown;
repository: {
name: string;
owner: {
login: string;
} | {
login: string;
};
};
author: {
name: string | null;
email: string | null;
} | null;
associatedPullRequests: {
edges: Array<{
node: {
title: string;
url: unknown;
number: number;
baseRefName: string;
labels: {
nodes: Array<{
name: string;
} | null> | null;
} | null;
mergeCommit: {
__typename: 'Commit';
message: string;
sha: unknown;
remoteConfigHistory: {
edges: Array<{
remoteConfig: {
committedDate: unknown;
file: {
__typename: 'TreeEntry';
object: {
__typename: 'Blob';
text: string | null;
} | Record<PropertyKey, never> | null;
} | null;
} | null;
} | null> | null;
};
} | null;
timelineItems: {
edges: Array<{
node: {
__typename: 'CrossReferencedEvent';
targetPullRequest: {
__typename: 'Issue';
} | {
__typename: 'PullRequest';
url: unknown;
title: string;
state: PullRequestState;
baseRefName: string;
number: number;
targetMergeCommit: {
message: string;
sha: unknown;
} | null;
repository: {
name: string;
owner: {
login: string;
} | {
login: string;
};
};
commits: {
edges: Array<{
node: {
targetCommit: {
message: string;
sha: unknown;
};
} | null;
} | null> | null;
};
};
} | Record<PropertyKey, never> | null;
} | null> | null;
};
} | null;
} | null> | null;
} | null;
};
export declare const RemoteConfigHistoryFragmentFragmentDoc: DocumentNode<RemoteConfigHistoryFragmentFragment, unknown>;
export declare const SourceCommitWithTargetPullRequestFragmentFragmentDoc: DocumentNode<SourceCommitWithTargetPullRequestFragmentFragment, unknown>;
export declare const GetViewerDocument: DocumentNode<GetViewerQuery, GetViewerQueryVariables>;
export declare const GetRepoDocument: DocumentNode<GetRepoQuery, GetRepoQueryVariables>;
export declare const DisablePullRequestAutoMergeDocument: DocumentNode<DisablePullRequestAutoMergeMutation, DisablePullRequestAutoMergeMutationVariables>;
export declare const EnablePullRequestAutoMergeDocument: DocumentNode<EnablePullRequestAutoMergeMutation, EnablePullRequestAutoMergeMutationVariables>;
export declare const AuthorIdDocument: DocumentNode<AuthorIdQuery, AuthorIdQueryVariables>;
export declare const ExistingPullRequestDocument: DocumentNode<ExistingPullRequestQuery, ExistingPullRequestQueryVariables>;
export declare const PullRequestAutoMergeMethodDocument: DocumentNode<PullRequestAutoMergeMethodQuery, PullRequestAutoMergeMethodQueryVariables>;
export declare const PullRequestIdDocument: DocumentNode<PullRequestIdQuery, PullRequestIdQueryVariables>;
export declare const CommitByPullNumberDocument: DocumentNode<CommitByPullNumberQuery, CommitByPullNumberQueryVariables>;
export declare const CommitsByShaDocument: DocumentNode<CommitsByShaQuery, CommitsByShaQueryVariables>;
export declare const CommitsByAuthorDocument: DocumentNode<CommitsByAuthorQuery, CommitsByAuthorQueryVariables>;
export declare const CommitsForRebaseAndMergeStrategyDocument: DocumentNode<CommitsForRebaseAndMergeStrategyQuery, CommitsForRebaseAndMergeStrategyQueryVariables>;
export declare const PullRequestBySearchQueryDocument: DocumentNode<PullRequestBySearchQueryQuery, PullRequestBySearchQueryQueryVariables>;
export declare const RepoOwnerAndNameDocument: DocumentNode<RepoOwnerAndNameQuery, RepoOwnerAndNameQueryVariables>;
export declare const GithubConfigOptionsDocument: DocumentNode<GithubConfigOptionsQuery, GithubConfigOptionsQueryVariables>;
export declare const GetBranchIdDocument: DocumentNode<GetBranchIdQuery, GetBranchIdQueryVariables>;
export {};