我正在构建一个电子应用程序,它将允许用户克隆他们有权访问的存储库。
我想使用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);
});
};
答案 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}`);
};