gpt4 book ai didi

javascript - Node.js 生成参数导致 git update-index 失败

转载 作者:行者123 更新时间:2023-12-02 21:15:59 26 4
gpt4 key购买 nike

我有一个简单的函数来运行git update-index

exports.gitUpdateIndex = (path, pattern) => {
return new Promise((resolve, reject) => {
const error = [];
const opt = {
cwd: path
};
const process = spawn("git", ["update-index", "--chmod=+x", pattern], opt);
process.on("close", () => {
if (error.length > 0) {
reject(error);
}
resolve();
});
process.stderr.on("data", data => error.push(data.toString().trim()));
});
};

我试图这样调用它 -

await gitUpdateIndex(dirPath, "./*.sh");

但这会抛出一个错误,例如 -

[
"Ignoring path *.sh\nfatal: git update-index: cannot chmod +x '*.sh'"
]

编辑:

似乎将绝对路径传递给函数可以修复它,而不是 unix glob 模式。

await gitUpdateIndex(dirPath, "C:\\test\\hello.sh");

最佳答案

您必须将每个参数定义为单独的数组元素:

spawn("git", ['update-index', '--chmod=+x', pattern], opt)

您当前所做的相当于

git 'update-index --chmod=+x ./*.sh'

(注意引号)

关于javascript - Node.js 生成参数导致 git update-index 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60969902/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com