summaryrefslogtreecommitdiffstats
path: root/etc/phpshellsessions
diff options
context:
space:
mode:
authorErik Fonnesbeck <efonnes@gmail.com>2010-04-29 03:02:10 -0600
committerErik Fonnesbeck <efonnes@gmail.com>2010-04-29 03:02:10 -0600
commitb696422827193d3f165e077f2b56e575022fd553 (patch)
treeef22a62e5842c37f8e0cde4735848e7eea1b313e /etc/phpshellsessions
parentecac770c1a1faa0a4be31e7d45f0e51b765f4d59 (diff)
downloadpfsense-b696422827193d3f165e077f2b56e575022fd553.zip
pfsense-b696422827193d3f165e077f2b56e575022fd553.tar.gz
Add gitsync support for merging from other repositories.
Diffstat (limited to 'etc/phpshellsessions')
-rw-r--r--etc/phpshellsessions/gitsync26
1 files changed, 26 insertions, 0 deletions
diff --git a/etc/phpshellsessions/gitsync b/etc/phpshellsessions/gitsync
index d49ac65..e67452b 100644
--- a/etc/phpshellsessions/gitsync
+++ b/etc/phpshellsessions/gitsync
@@ -97,6 +97,21 @@ if(!$found) {
}
}
+$merge_repos = array();
+if(!$command_split[2] && !$argv[3]) {
+ do {
+ echo "\nAdd a custom RCS branch URL (HTTP) to merge in or press enter for none.\n\n";
+ $merge_repo = readline("> ");
+ if(!empty($merge_repo)) {
+ $merge_branch = readline("Merge which branch [master]? ");
+ if($merge_branch == "")
+ $merge_repos[] = array('repo' => $merge_repo, 'branch' => 'master');
+ else if($merge_branch)
+ $merge_repos[] = array('repo' => $merge_repo, 'branch' => $merge_branch);
+ }
+ } while(!empty($merge_repo));
+}
+
if($branch == "RESTORE" && $g['platform'] == "pfSense") {
if(!file_exists("/root/cvssync_backup.tgz")) {
echo "Sorry, we could not find a previous CVSSync backup file.\n";
@@ -149,6 +164,17 @@ if(is_dir("$CODIR/pfSenseGITREPO/pfSenseGITREPO")) {
}
}
+foreach($merge_repos as $merge_repo) {
+ echo "===> Merging branch {$merge_repo['branch']} from {$merge_repo['repo']}\n";
+ exec("cd $CODIR/pfSenseGITREPO/pfSenseGITREPO && git pull {$merge_repo['repo']} {$merge_repo['branch']}", $output_str, $ret);
+ unset($output_str);
+ if($ret <> 0) {
+ echo "\nMerge failed. Aborting sync.\n\n";
+ run_cmds($git_cmd);
+ exit;
+ }
+}
+
exec("mkdir -p /tmp/lighttpd/cache/compress/");
// Nuke CVS and pfSense tarballs
OpenPOWER on IntegriCloud