glu-cli
Version:
Git stacked branch management with GitHub integration
39 lines • 1.8 kB
TypeScript
import { BranchNamingService } from "../services/branch-naming-service.js";
import type { Commit } from "../core/types.js";
import { BranchService } from "../services/branch-service.js";
import { CherryPickService } from "../services/cherry-pick-service.js";
import { CommitService } from "../services/commit-service.js";
import { GluIdService } from "../services/glu-id-service.js";
import { GluGraphService } from "../services/glu-graph-service.js";
export interface RequestReviewOptions {
branch?: string;
push?: boolean;
}
export interface RequestReviewProgress {
onValidatingWorkingDirectory?: () => void;
onValidatingRange?: () => void;
onInjectingGluIds?: (commitsProcessed: number, commitsModified: number) => void;
onCreatingStagingBranch?: () => void;
onCherryPicking?: (current: number, total: number, commit: Commit) => void;
onCreatingReviewBranch?: (branchName: string) => void;
onPushingBranch?: (branchName: string) => void;
onCleaningUp?: () => void;
}
export declare class RequestReviewUseCase {
private commitService;
private branchService;
private branchNamingService;
private cherryPickService;
private gluIdService;
private gluGraphService;
constructor(commitService: CommitService, branchService: BranchService, branchNamingService: BranchNamingService, cherryPickService: CherryPickService, gluIdService: GluIdService, gluGraphService: GluGraphService);
static default(): RequestReviewUseCase;
execute(range: string, options?: RequestReviewOptions, progress?: RequestReviewProgress): Promise<RequestReviewResult>;
}
export type RequestReviewResult = {
success: boolean;
branch: string;
commits: Commit[];
pullRequestUrl?: string;
};
//# sourceMappingURL=request-review-use-case.d.ts.map