From ecac770c1a1faa0a4be31e7d45f0e51b765f4d59 Mon Sep 17 00:00:00 2001 From: Erik Fonnesbeck Date: Thu, 29 Apr 2010 02:59:48 -0600 Subject: Allow gitsync to properly switch branches or repositories. Resolves #523 --- etc/phpshellsessions/gitsync | 24 +++++++----------------- 1 file changed, 7 insertions(+), 17 deletions(-) (limited to 'etc/phpshellsessions') diff --git a/etc/phpshellsessions/gitsync b/etc/phpshellsessions/gitsync index 6491851..d49ac65 100644 --- a/etc/phpshellsessions/gitsync +++ b/etc/phpshellsessions/gitsync @@ -125,25 +125,15 @@ exec("mkdir -p /root/pfsense/$branch"); // Git 'er done! if(is_dir("$CODIR/pfSenseGITREPO/pfSenseGITREPO")) { echo "===> Fetching updates...\n"; + exec("cd $CODIR/pfSenseGITREPO/pfSenseGITREPO && git config remote.origin.url $GIT_REPO"); exec("cd $CODIR/pfSenseGITREPO/pfSenseGITREPO && git fetch"); exec("cd $CODIR/pfSenseGITREPO/pfSenseGITREPO && git clean -f -f -x -d"); - if($branch == "master") { - $git_cmd = array( - "cd $CODIR/pfSenseGITREPO/pfSenseGITREPO && git reset HEAD --hard", - "cd $CODIR/pfSenseGITREPO/pfSenseGITREPO && git rebase origin" - ); - run_cmds($git_cmd); - } else { - $git_cmd = array( - "cd $CODIR/pfSenseGITREPO/pfSenseGITREPO && git reset HEAD --hard", - "cd $CODIR/pfSenseGITREPO/pfSenseGITREPO && git checkout master", - "cd $CODIR/pfSenseGITREPO/pfSenseGITREPO && git branch -D $branch", - "cd $CODIR/pfSenseGITREPO/pfSenseGITREPO && git fetch", - "cd $CODIR/pfSenseGITREPO/pfSenseGITREPO && git rebase origin", - "cd $CODIR/pfSenseGITREPO/pfSenseGITREPO && git checkout -b $branch origin/$branch" - ); - run_cmds($git_cmd); - } + $git_cmd = array( + "cd $CODIR/pfSenseGITREPO/pfSenseGITREPO && git branch $branch origin/$branch 2>/dev/null", + "cd $CODIR/pfSenseGITREPO/pfSenseGITREPO && git checkout -f $branch 2>/dev/null", + "cd $CODIR/pfSenseGITREPO/pfSenseGITREPO && git reset --hard origin/$branch" + ); + run_cmds($git_cmd); } else { exec("mkdir -p $CODIR/pfSenseGITREPO"); echo "Executing cd $CODIR/pfSenseGITREPO && git clone $GIT_REPO pfSenseGITREPO\n"; -- cgit v1.1