HEX
Server: nginx/1.18.0
System: Linux test-ipsremont 5.4.0-214-generic #234-Ubuntu SMP Fri Mar 14 23:50:27 UTC 2025 x86_64
User: ips (1000)
PHP: 8.0.30
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/quadcode.com/node_modules/js-git/lib/find-common.js
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);
    }
  }

}