【发布时间】:2015-11-06 15:28:02
【问题描述】:
我正在使用这个命令来获取 git 存储库中的内容:
git archive --remote=ssh://git@git/repository.git HEAD filename.txt | tar xvOf -
命令的第一部分将存储库中filename.txt 的内容返回到标准输出。
第二部分是为了删除 git 自动添加到内容中的pax_global_header。
我想将此命令实现为node.js v0.10.36 上的衍生子进程
这是我尝试过的:
var git = spawn("git", ["archive","--remote=" + repositoryUrl,"HEAD",filename]);
var tar = spawn("tar", ["xvOf", "-"]);
var out = [];
tar.stdout.pipe(git.stdout).on('data', function(data){
var string = data.toString();
if(string) {
out.push(string);
}
});
但是当我运行它时,我在数据处理程序中得到的字符串就像git 输出永远不会通过tar 进程进行管道传输
我做错了什么?
【问题讨论】:
标签: node.js git bash child-process