Server IP : 85.214.239.14 / Your IP : 3.137.212.81 Web Server : Apache/2.4.62 (Debian) System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.18 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, MySQL : OFF | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /proc/3/task/3/root/proc/2/root/lib/node_modules/pm2/node_modules/vizion/lib/hg/ |
Upload File : |
var exec = require("child_process").exec; var fs = require("fs"); var cliCommand = require('../cliCommand.js'); var halt = false; function error(repoType, task, errorMsg, cb) { if (halt) return false; console.error("[Repo-Parser] An error occured while " + task + " in a " + repoType + " repository: " + errorMsg); halt = true; return cb("[Repo-Parser] An error occured while " + task + " in a " + repoType + " repository: " + errorMsg); } function checkReturn(dataArray, cb) { if (halt) { return false; } if (Object.keys(dataArray).length > 6) { Object.keys(dataArray).forEach(function(key) { if (typeof(dataArray[key]) === 'string') { dataArray[key] = dataArray[key].replace(/\n/g, ''); } }); cb(null, dataArray); } }; module.exports.parse = function parseHg(folder, cb) { var data = {}; data.type = 'mercurial'; data.commit_history = []; // temporary exec(cliCommand(folder, "hg paths default"), function(err, stdout, stderr) { if(err !== null) { error("mercurial", "fetching path", stderr, cb); } else { data.url = stdout; checkReturn(data, cb); } }); exec(cliCommand(folder, "hg log --limit 1 --template 'changeset: {rev}:{node|short}\nsummary: {desc}'"), function(err, stdout, stderr) { if(err !== null) { error("mercurial", "fetching log", stderr, cb); } else { var changeset = stdout.match(/^changeset:\s+([^\n]+)$/m); //date = stdout.match(/^date:\s+:([^\n]+)$/m); var summary = stdout.match(/^summary:\s+([^\n]+)$/m); data.revision = changeset[1]; data.comment = summary[1]; //data.update_time = date; checkReturn(data, cb); } }); exec(cliCommand(folder, "hg branch"), function(err, stdout, stderr) { if(err !== null) { error("mercurial", "fetching branch", stderr, cb); } else { data.branch = stdout; checkReturn(data, cb); } }); fs.stat(folder+".hg", function(err, stats) { if(err !== null) { error("mercurial", "fetching stats", "no error available", cb); } else { data.update_time = stats.mtime; checkReturn(data, cb); } }); }