$client = new \Github\Client(); $client->authenticate($username, $password, Github\Client::AUTH_HTTP_PASSWORD); } else { $client = new \Github\Client(); $client->authenticate($vars['githubtoken'], "", Github\Client::AUTH_HTTP_TOKEN); } $merge = true; if (!freepbx::version_compare_freepbx((string) $masterXML->supported->version, (string) $branchXML->supported->version, "<=")) { echo "Master is on a higher or equal supported version than " . $options['updatemaster'] . "\n"; $merge = false; } if (freepbx::version_compare_freepbx((string) $masterXML->version, (string) $branchXML->version, ">")) { echo "Master is a higher (" . (string) $masterXML->version . ") version than this release (" . (string) $branchXML->version . ")? Scary? Aborting\n"; $merge = false; } if (freepbx::version_compare_freepbx((string) $masterXML->version, (string) $branchXML->version, "=")) { echo "Master IS already this version\n"; $merge = false; } if ($merge) { freepbx::outn("Attempting to merge release/" . $options['updatemaster'] . " into master..."); $repo->checkout("master"); $merged = $repo->pull("origin", "release/" . $options['updatemaster']); if (!$merged) { freepbx::out("\t\t\tMerge from release/" . $options['updatemaster'] . " into master failed"); freepbx::out("Module " . $module . " will not be tagged!"); continue; } $repo->push("origin", "master"); freepbx::out("Done"); freepbx::outn("Checking you out into release/" . $options['updatemaster'] . "...");
//push branch and tag to remote //TODO: check to make sure the author/committer isn't 'root' if (!$vars['debug']) { try { $repo->push($vars['remote'], "release/" . $mver); } catch (Exception $e) { freepbx::out($e->getMessage()); freepbx::out("Module " . $module . " will not be tagged!"); continue; } freepbx::out("Done"); } else { freepbx::out("Debugging, Not Ran"); } if (freepbx::version_compare_freepbx((string) $masterXML->supported->version, $supported['version'], "=")) { if (freepbx::version_compare_freepbx((string) $masterXML->version, $ver, "<=")) { freepbx::outn("\t\tMaster is the same supported release as this branch. Merging release/" . $mver . " into master..."); if (!$vars['debug']) { $repo->checkout("master"); $merged = $repo->pull($vars['remote'], "release/" . $mver); if (!$merged) { freepbx::out("\t\t\tMerge from release/" . $mver . " into master failed"); freepbx::out("Module " . $module . " will not be tagged!"); continue; } $repo->push($vars['remote'], "master"); $repo->checkout("release/" . $mver); } freepbx::out("Done"); } }