Spamworldpro Mini Shell
Spamworldpro


Server : nginx/1.20.1
System : Linux ccpf-production-2021 5.4.0-148-generic #165-Ubuntu SMP Tue Apr 18 08:53:12 UTC 2023 x86_64
User : forge ( 1000)
PHP Version : 7.4.21
Disable Function : 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,
Directory :  /lib/node_modules/pm2/node_modules/js-git/lib/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //lib/node_modules/pm2/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);
    }
  }

}

Spamworldpro Mini