@mieweb/wikigdrive
Version:
Google Drive to MarkDown synchronization
86 lines • 2.76 kB
TypeScript
import type { Logger } from 'winston';
import { UserConfig } from '../containers/google_folder/UserConfigService.js';
export interface GitChange {
path: string;
state: {
isNew: boolean;
isModified: boolean;
isDeleted: boolean;
};
attachments?: number;
}
interface SshParams {
privateKeyFile: string;
}
interface Commiter {
name: string;
email: string;
}
export declare class GitScanner {
private logger;
readonly rootPath: string;
private email;
debug: boolean;
private companionFileResolver;
constructor(logger: Logger, rootPath: string, email: string);
private exec;
isRepo(): Promise<boolean>;
changes(opts?: {
includeAssets: boolean;
}): Promise<GitChange[]>;
resolveCompanionFiles(filePaths: string[]): Promise<string[]>;
commit(message: string, selectedFiles: string[], committer: Commiter): Promise<string>;
pullBranch(remoteBranch: string, sshParams?: SshParams): Promise<void>;
fetch(sshParams?: SshParams): Promise<void>;
pushToDir(dir: string): Promise<void>;
pushBranch(remoteBranch: string, sshParams?: SshParams, localBranch?: string): Promise<void>;
resetToLocal(sshParams?: SshParams): Promise<void>;
resetToRemote(remoteBranch: string, sshParams?: SshParams): Promise<void>;
getOwnerRepo(): Promise<string>;
getRemoteUrl(): Promise<string>;
setRemoteUrl(url: string): Promise<void>;
diff(fileName: string): Promise<({
oldFile: string;
newFile: string;
txt: string;
patches: never[];
} | {
oldFile: string;
newFile: string;
txt: string;
patches?: undefined;
} | null)[]>;
history(fileName: string, remoteBranch?: string): Promise<({
id: any;
author_name: string;
message: string;
date: null;
head: any;
remote: boolean;
} | null)[]>;
initialize(): Promise<void>;
setSafeDirectory(): Promise<void>;
getBranchCommit(branch: string): Promise<string>;
autoCommit(): Promise<void>;
countAheadBehind(remoteBranch: string): Promise<{
ahead: number;
behind: number;
}>;
getStats(userConfig: UserConfig): Promise<{
initialized: boolean;
headAhead: number;
headBehind: number;
unstaged: number;
remote_branch: string;
remote_url: string | null;
}>;
removeUntracked(): Promise<void>;
cmd(cmd: string, arg?: string): Promise<{
stdout: string;
stderr: string;
}>;
removeCached(filePath: string): Promise<void>;
setCompanionFileResolver(resolver: (filePath: string) => Promise<string[]>): void;
}
export {};
//# sourceMappingURL=GitScanner.d.ts.map