繁体   English   中英

将git log输出转换为Json数组不起作用(Node.js)

[英]Converting git log output into Json array not working(Node.js)

我正在尝试获取所有分支的日志,然后将其保存在Json文件中。 我的代码当前不在json文件中输出数组。 我该怎么做呢? 总的来说,我对node.js和Javascript非常陌生。

var sys = require('sys')
var exec = require('child_process').exec;
var branchesObj;
function puts(error, stdout, stderr) {
console.log(stdout)
var fs = require('fs');
console.log("Creating branches log ..."); 

function getBranches(stdout) {  

branchesObj = JSON.parse(branches);

branches = JSON.stringify(stdout.split(/\r?\n/));
var lines = branches.toString().split('commit');
var results = new Array();
lines.forEach(function(line) {
    var parts = line.split('/\r?\n/');
    results[parts[0]] = parts[1];
});

console.log(results);
fs.writeFile('Branches.json', results);
};
fs.writeFile('Branches.json', stdout);
}
exec("git branch--all", puts);

目前,这是我的JSON文件的样子,并且数组周围没有方括号,例如Br​​anches = [{}]:

* master
remotes/origin/38563
remotes/origin/53035
remotes/origin/AVA_SAMPSON
remotes/origin/AlexTMP

这就是您想要的:

var exec = require('child_process').exec;
var fs = require('fs');

function puts(error, stdout, stderr) { 
   var branches = JSON.stringify(stdout.split(/\r?\n/).map(function(e) { return e.substring(2);}).filter(function(e) { return e; }));
   fs.writeFile('Branches.json', branches);
}
exec("git branch --all", puts);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM