如何使用Electron的showSaveDialog设置克隆存储库的目的地?

时间:2018-11-27 23:54:22

标签: git electron

我正在构建一个电子应用程序,它将允许用户克隆他们有权访问的存储库。

我想使用showSaveDialog()允许用户选择克隆存储库的目的地。

下面的代码克隆一个仓库,但在app目录中。我可以很容易地设置默认位置,但是我希望用户设置位置。

如何进行以下工作?

onClick={() =>
  dialog.showSaveDialog(
    {
      buttonLabel: 'Clone Repo',
    },
      cloneRepo(repo),
  )
}


export function cloneRepo(repo) {
  exec(`git clone ${repo.url}`, (error, stdout, stderr) => {
      console.log('stdout', stdout);
      console.log('error', error);
      console.log('stderr', stderr);
  });
};

1 个答案:

答案 0 :(得分:0)

我最终这样做:

onClick={() =>
  dialog.showSaveDialog(
    {
      defaultPath: service.url,
      buttonLabel: 'Clone Repo',
    },
    location => {
      cloneRepo(location, service);
    },
  )
}



export const cloneRepo = (location, repo) => {
  exec(`mkdir ${location}; cd ${location}; git clone ${repo.url}`);
};