You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

69 lines
1.7 KiB
TypeScript

2 years ago
import GitRemoteHelper from './git/git-remote-helper';
import { ApiBaseParams } from './git/git-remote-helper';
import Git from './git/git';
import { log } from './git/log';
import { ETHStorage } from './storage/ETHStorage';
2 years ago
let git: Git;
2 years ago
GitRemoteHelper({
env: process.env,
stdin: process.stdin,
stdout: process.stdout,
api: {
/**
* This will always be invoked when the remote helper is invoked
*/
init: async (p: ApiBaseParams) => {
git = new Git(p, new ETHStorage(p.remoteUrl))
2 years ago
return
},
/**
* This needs to return a list of git refs.
*/
list: async (p: {
gitdir: string;
remoteName: string;
remoteUrl: string;
forPush: boolean;
}) => {
log('list log', p)
return await git.do_list(p.forPush)
2 years ago
},
/**
* This should put the requested objects into the `.git`
*/
handleFetch: async (p: {
gitdir: string;
remoteName: string;
remoteUrl: string;
refs: { ref: string; oid: string }[];
}) => {
return '\n\n';
},
/**
* This should copy objects from `.git`
*/
handlePush: async (p: {
gitdir: string;
remoteName: string;
remoteUrl: string;
refs: {
src: string;
dst: string;
force: boolean;
}[];
}) => {
2 years ago
log("push", p)
return '\n';
},
},
}).catch((error: any) => {
console.error("wtf");
console.error(error);
2 years ago
});