pgit-cli
Version:
Private file tracking with dual git repositories
77 lines • 2.19 kB
TypeScript
import { CommandResult, CommandOptions } from '../types/config.types';
import { BaseError } from '../errors/base.error';
/**
* Git operations command specific errors
*/
export declare class GitOpsError extends BaseError {
readonly code = "GIT_OPS_ERROR";
readonly recoverable = true;
}
export declare class NotInitializedError extends BaseError {
readonly code = "NOT_INITIALIZED";
readonly recoverable = false;
}
/**
* Options for git log command
*/
export interface LogOptions {
maxCount?: number;
oneline?: boolean;
}
/**
* Options for git diff command
*/
export interface DiffOptions {
cached?: boolean;
nameOnly?: boolean;
}
/**
* Git operations command for private repository
*/
export declare class GitOpsCommand {
private readonly workingDir;
private readonly fileSystem;
private readonly configManager;
constructor(workingDir?: string);
/**
* Execute git log command
*/
log(options?: LogOptions, cmdOptions?: CommandOptions): Promise<CommandResult>;
/**
* Execute git diff command
*/
diff(options?: DiffOptions, cmdOptions?: CommandOptions): Promise<CommandResult>;
/**
* Execute git add command for staging changes
*/
addChanges(all?: boolean, cmdOptions?: CommandOptions): Promise<CommandResult>;
/**
* Execute git branch operations
*/
branch(branchName?: string, create?: boolean, cmdOptions?: CommandOptions): Promise<CommandResult>;
/**
* Execute git checkout command
*/
checkout(target: string, cmdOptions?: CommandOptions): Promise<CommandResult>;
/**
* Execute git reset command
*/
reset(mode?: 'soft' | 'hard', commit?: string, cmdOptions?: CommandOptions): Promise<CommandResult>;
/**
* Get current branch name
*/
getCurrentBranch(cmdOptions?: CommandOptions): Promise<CommandResult>;
/**
* Get private git service instance
*/
private getPrivateGitService;
/**
* Display log entries in formatted output
*/
private displayLogEntries;
/**
* Handle errors consistently
*/
private handleError;
}
//# sourceMappingURL=gitops.command.d.ts.map