rdesktop2
filip mertens 1 year ago
parent 870083ff49
commit 1a76ab87ba
  1. 31
      apps/remixdesktop/src/plugins/isoGitPlugin.ts
  2. 15
      apps/remixdesktop/src/tools/git.ts

@ -76,11 +76,11 @@ class IsoGitPluginClient extends ElectronBasePluginClient {
async status(cmd: any) {
if(this.workingDir === ''){
if (this.workingDir === '') {
return []
}
if(this.gitIsInstalled){
if (this.gitIsInstalled) {
const status = await gitProxy.status(this.workingDir)
return status
}
@ -103,7 +103,7 @@ class IsoGitPluginClient extends ElectronBasePluginClient {
}
*/
if(this.workingDir === ''){
if (this.workingDir === '') {
return []
}
@ -134,7 +134,7 @@ class IsoGitPluginClient extends ElectronBasePluginClient {
return rm
}
async reset(cmd: any){
async reset(cmd: any) {
const reset = await git.resetIndex({
...await this.getGitConfig(),
@ -214,19 +214,30 @@ class IsoGitPluginClient extends ElectronBasePluginClient {
async push(cmd: any) {
console.log('PUSH', cmd)
if (this.gitIsInstalled) {
await gitProxy.push(this.workingDir, cmd.remote, cmd.ref, cmd.remoteRef, cmd.force)
} else {
const push = await git.push({
...await this.getGitConfig(),
...cmd,
...parseInput(cmd.input)
})
return push
}
}
async pull(cmd: any) {
if (this.gitIsInstalled) {
await gitProxy.pull(this.workingDir, cmd.remote, cmd.ref, cmd.remoteRef)
} else {
const pull = await git.pull({
...await this.getGitConfig(),
...cmd,
@ -234,10 +245,17 @@ class IsoGitPluginClient extends ElectronBasePluginClient {
})
return pull
}
}
async fetch(cmd: any) {
if (this.gitIsInstalled) {
await gitProxy.fetch(this.workingDir, cmd.remote, cmd.remoteRef)
} else {
const fetch = await git.fetch({
...await this.getGitConfig(),
...cmd,
@ -246,6 +264,7 @@ class IsoGitPluginClient extends ElectronBasePluginClient {
return fetch
}
}
async clone(cmd: any) {

@ -41,10 +41,21 @@ export const gitProxy = {
clone: async (url: string, path: string) => {
const { stdout, stderr } = await execAsync(`git clone ${url} ${path}`);
console.log('stdout:', stdout);
console.log('stderr:', stderr);
},
async push(path: string, remote: string, src: string, branch: string, force: boolean = false) {
const { stdout, stderr } = await execAsync(`git push ${force? ' -f':'' } ${remote} ${src}:${branch}`, { cwd: path });
},
async pull(path: string, remote: string, src: string, branch: string) {
const { stdout, stderr } = await execAsync(`git pull ${remote} ${src}:${branch}`, { cwd: path });
},
async fetch(path: string, remote: string, branch: string) {
const { stdout, stderr } = await execAsync(`git fetch ${remote} ${branch}`, { cwd: path });
},
status: async (path: string) => {
const result = await execAsync('git status --porcelain -uall', { cwd: path })
//console.log('git status --porcelain -uall', result.stdout)

Loading…
Cancel
Save