@jwpkg/gitversion
Version:
Gitversion is a complete customizable git-based release management system
41 lines (40 loc) • 1.42 kB
TypeScript
import { Executor } from './executor';
import { LogReporter } from './log-reporter';
export interface GitCommit {
message: string;
date: Date;
hash: string;
}
export interface GitTag {
tagName: string;
hash?: string;
}
export declare class Git {
private cwd;
private dryRun;
private logger;
private executor;
private commandCache;
private extraArgs;
private _overrideCurrentBranch?;
private _overrideCurrentRef?;
addConfiguration(key: string, value: string): void;
set overrideCurrentBranch(branch: string);
set overrideCurrentRef(ref: string);
static root(): Promise<string>;
constructor(cwd: string, dryRun: boolean, logger: LogReporter, executor: Executor);
exec(...args: string[]): Promise<string>;
execSilent(...args: string[]): Promise<string | null>;
logs(sinceHash?: string, relativeCwd?: string): Promise<GitCommit[]>;
versionTags(prefix?: string): Promise<GitTag[]>;
addTag(tag: string, message: string): Promise<void>;
addAndCommitFiles(message: string, files: string[]): Promise<void>;
push(): Promise<void>;
currentBranch(): Promise<string | null>;
currentRef(): Promise<string | null>;
gitStatusHash(): Promise<string>;
currentCommit(): Promise<string>;
cleanChangeLogs(): Promise<void>;
remoteName(): Promise<string | null>;
remoteUrl(maxTries?: number): Promise<string | null>;
}