getHeadSha1(repopath, function(err, headSha1) { if (err) { callback(err); return; } if (headSha1 === undefined) callback(null, undefined); else { cM.readFileToCommit(headSha1, repopath, function(err, head) { if (err) { callback(err); return; } callback(null, head); }); } });
function getCommitAndTreeDir(repopath, sha1, callback) { cM.readFileToCommit(sha1, repopath, function(err, commit) { if (err) { callback(err); return; } tM.readFileToTree(commit.objectId, repopath, function(err, tree) { if (err) { callback(err); return; } tree.walk(repopath, function(err, treeInfo, graph) { if (err) { callback(err); return; } callback(null, commit, treeInfo, graph); }); }); }); }