mirror of
https://github.com/mountain-loop/yaak.git
synced 2026-03-26 03:11:28 +01:00
27 lines
951 B
TypeScript
27 lines
951 B
TypeScript
import type { GitCallbacks } from "@yaakapp-internal/git";
|
|
import { sync } from "../../init/sync";
|
|
import { promptCredentials } from "./credentials";
|
|
import { promptDivergedStrategy } from "./diverged";
|
|
import { addGitRemote } from "./showAddRemoteDialog";
|
|
import { promptUncommittedChangesStrategy } from "./uncommitted";
|
|
|
|
export function gitCallbacks(dir: string): GitCallbacks {
|
|
return {
|
|
addRemote: async () => {
|
|
return addGitRemote(dir, "origin");
|
|
},
|
|
promptCredentials: async ({ url, error }) => {
|
|
const creds = await promptCredentials({ url, error });
|
|
if (creds == null) throw new Error("Cancelled credentials prompt");
|
|
return creds;
|
|
},
|
|
promptDiverged: async ({ remote, branch }) => {
|
|
return promptDivergedStrategy({ remote, branch });
|
|
},
|
|
promptUncommittedChanges: async () => {
|
|
return promptUncommittedChangesStrategy();
|
|
},
|
|
forceSync: () => sync({ force: true }),
|
|
};
|
|
}
|