[petsc-dev] Branch 'next' has been rewound

Jed Brown jedbrown at mcs.anl.gov
Mon May 13 22:01:14 CDT 2013


Satish Balay <balay at mcs.anl.gov> writes:

> On Mon, 13 May 2013, Jed Brown wrote:
>
>> == Users ==
>> 
>> I have rewound the branch 'next' after the release, so it will
>> not fast-forward (just this once).  If you have a local 'next' branch,
>> you should abandon it and check out a fresh one.  You can do this with
>> 
>>   $ git checkout master
>>   $ git branch -D next   # delete the old branch
>>   $ git pull
>>   $ git checkout next    # revisit 'next' if you want
>> 
>> If you are tracking 'master', 'git pull' will be sufficient.
>
>
> hm. looks like I'll have to do this for all nightlybuild repos.  Is it
> ok to do it always everynight [and not just during release]?

Yes, it's fine, but since you only need to check out states from
upstream, you could just use 'git checkout origin/${BRANCH}' (giving you
a detached HEAD -- nice for this sort of scripting where you have no use
for "branch semantics").

diff --git i/bin/maint/startnightly w/bin/maint/startnightly
index e48bfe3..ace1ffc 100755
--- i/bin/maint/startnightly
+++ w/bin/maint/startnightly
@@ -21,7 +21,7 @@ foreach TEST ($*)
       endif
     endif
     echo "Cleaning and updating clone at $USR@$MACH $LOC"
-    $SSH $USR@$MACH $DASHN "cd $LOC ; git checkout -f ${BRANCH}; git pull -q "
+    $SSH $USR@$MACH $DASHN "cd $LOC ; git fetch -q origin; git checkout -f origin/${BRANCH} "
   else
     rsync -e ssh -az --delete  $pdir/ ${USR}@${MACH}:${LOC}
   endif

> ------
> $ git diff
> diff --git a/bin/maint/startnightly b/bin/maint/startnightly
> index e48bfe3..a9b31a1 100755
> --- a/bin/maint/startnightly
> +++ b/bin/maint/startnightly
> @@ -21,7 +21,11 @@ foreach TEST ($*)
>        endif
>      endif
>      echo "Cleaning and updating clone at $USR@$MACH $LOC"
> -    $SSH $USR@$MACH $DASHN "cd $LOC ; git checkout -f ${BRANCH}; git pull -q "
> +    if ("${BRANCH}" == "master") then
> +      $SSH $USR@$MACH $DASHN "cd $LOC ; git checkout -f ${BRANCH}; git pull -q "
> +    else
> +      $SSH $USR@$MACH $DASHN "cd $LOC ; git checkout -f master; git branch -D ${BRANCH}; git pull -q ; git checkout -f  ${BRANCH}"
> +    endif
>    else
>      rsync -e ssh -az --delete  $pdir/ ${USR}@${MACH}:${LOC}
>    endif



More information about the petsc-dev mailing list