PATH:
usr
/
local
/
lib
/
node_modules
/
pm2
/
node_modules
/
js-git
/
lib
function oneCall(fn) { var done = false; return function () { if (done) return; done = true; return fn.apply(this, arguments); }; } module.exports = findCommon; function findCommon(repo, a, b, callback) { callback = oneCall(callback); var ahead = 0, behind = 0; var aStream, bStream; var aCommit, bCommit; if (a === b) return callback(null, ahead, behind); repo.logWalk(a, onAStream); repo.logWalk(b, onBStream); function onAStream(err, stream) { if (err) return callback(err); aStream = stream; aStream.read(onA); } function onBStream(err, stream) { if (err) return callback(err); bStream = stream; bStream.read(onB); } function onA(err, commit) { if (!commit) return callback(err || new Error("No common commit")); aCommit = commit; if (bCommit) compare(); } function onB(err, commit) { if (!commit) return callback(err || new Error("No common commit")); bCommit = commit; if (aCommit) compare(); } function compare() { if (aCommit.hash === bCommit.hash) return callback(null, ahead, behind); if (aCommit.author.date.seconds > bCommit.author.date.seconds) { ahead++; aStream.read(onA); } else { behind++; bStream.read(onB); } } }
[-] pack-codec.js
[edit]
[+]
..
[-] defer.js
[edit]
[-] pkt-line.js
[edit]
[-] deflate.js
[edit]
[-] config-codec.js
[edit]
[-] inflate.js
[edit]
[-] git-fs.js
[edit]
[-] modes.js
[edit]
[-] object-codec.js
[edit]
[-] find-common.js
[edit]
[-] inflate-stream.js
[edit]
[-] wrap-handler.js
[edit]
[-] apply-delta.js
[edit]