Я имею эту команду я использую, чтобы получить содержимое внутри хранилища мерзавца:Node.js эквивалент Баш труба стандартного вывод перенаправления
git archive --remote=ssh://[email protected]/repository.git HEAD filename.txt | tar xvOf -
Первая часть команды возвращает содержимое filename.txt
внутри хранилища в стандартный выход. Вторая часть есть, чтобы удалить pax_global_header
, что git автоматически добавляет содержимое.
Я хочу осуществить эту команду как породившей child_process на 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
Что я делаю неправильно?