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

@ -46,7 +46,7 @@ const clientProfile: Profile = {
name: 'isogit',
displayName: 'isogit',
description: 'isogit plugin',
methods: ['init', 'localStorageUsed', 'version', 'addremote', 'delremote', 'remotes', 'fetch', 'clone', 'export', 'import', 'status', 'log', 'commit', 'add', 'remove', 'reset', 'rm', 'lsfiles', 'readblob', 'resolveref', 'branches', 'branch', 'checkout', 'currentbranch', 'push', 'pin', 'pull', 'pinList', 'unPin', 'setIpfsConfig', 'zip', 'setItem', 'getItem', 'openFolder']
methods: ['init', 'localStorageUsed', 'version', 'addremote', 'delremote', 'remotes', 'fetch', 'clone', 'export', 'import', 'status', 'log', 'commit', 'add', 'remove', 'reset', 'rm', 'lsfiles', 'readblob', 'resolveref', 'branches', 'branch', 'checkout', 'currentbranch', 'push', 'pin', 'pull', 'pinList', 'unPin', 'setIpfsConfig', 'zip', 'setItem', 'getItem', 'openFolder']
}
class IsoGitPluginClient extends ElectronBasePluginClient {
@ -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(),
@ -143,7 +143,7 @@ class IsoGitPluginClient extends ElectronBasePluginClient {
return reset
}
async commit(cmd: any) {
@ -173,7 +173,7 @@ class IsoGitPluginClient extends ElectronBasePluginClient {
}
async lsfiles(cmd: any) {
const lsfiles = await git.listFiles({
...await this.getGitConfig(),
...cmd
@ -214,37 +214,56 @@ class IsoGitPluginClient extends ElectronBasePluginClient {
async push(cmd: any) {
console.log('PUSH', cmd)
const push = await git.push({
...await this.getGitConfig(),
...cmd,
...parseInput(cmd.input)
})
return push
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) {
const pull = await git.pull({
...await this.getGitConfig(),
...cmd,
...parseInput(cmd.input)
})
if (this.gitIsInstalled) {
await gitProxy.pull(this.workingDir, cmd.remote, cmd.ref, cmd.remoteRef)
} else {
const pull = await git.pull({
...await this.getGitConfig(),
...cmd,
...parseInput(cmd.input)
})
return pull
return pull
}
}
async fetch(cmd: any) {
const fetch = await git.fetch({
...await this.getGitConfig(),
...cmd,
...parseInput(cmd.input)
})
if (this.gitIsInstalled) {
await gitProxy.fetch(this.workingDir, cmd.remote, cmd.remoteRef)
} else {
return fetch
const fetch = await git.fetch({
...await this.getGitConfig(),
...cmd,
...parseInput(cmd.input)
})
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