<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Fri, Jun 16, 2017 at 9:54 AM, Jed Brown <span dir="ltr"><<a href="mailto:jed@jedbrown.org" target="_blank">jed@jedbrown.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">smithc11 <<a href="mailto:smithc11@rpi.edu">smithc11@rpi.edu</a>> writes:<br>
<br>
> I suppose this email should/could go to a petsc mailing list.  If you<br>
> agree, please let me know which one and I'll gladly send it there.<br>
<br>
Cc'd petsc-next.<br>
<br>
> I was just reading through the petsc developer's guide<br>
> <a href="https://bitbucket.org/petsc/petsc/wiki/developer-instructions-git" rel="noreferrer" target="_blank">https://bitbucket.org/petsc/<wbr>petsc/wiki/developer-<wbr>instructions-git</a><br>
> and an older presentation of yours<br>
> <a href="https://jedbrown.org/files/20141113-Software.pdf" rel="noreferrer" target="_blank">https://jedbrown.org/files/<wbr>20141113-Software.pdf</a><br>
> on git workflows involving a master, next, and topic branches.<br>
><br>
> In petsc, is the next branch rewound (reset to point at the head of<br>
> master) periodically (i.e., after a release)?<br>
<br>
After a feature release.<br>
<br>
> If so, what git commands are used for the rewind?  In the gitworkflows<br>
> docs: <a href="https://git-scm.com/docs/gitworkflows" rel="noreferrer" target="_blank">https://git-scm.com/docs/<wbr>gitworkflows</a> a 'reset --hard' is used<br>
> followed by an 'announcement'. I'm guessing the announcement tells<br>
> folks who cloned the repo that they should expect a history change in<br>
> next?<br>
<br>
Yup.  Satish has been doing this lately, but I expect the procedure<br>
looks like<br></blockquote><div><br></div><div>Satish, is this already scripted? If not, maybe we should work on that for this</div><div>release. I don't know if anyone else could currently release, so we should rachet</div><div>up the automation. I am fine starting it.</div><div><br></div><div>  Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  git checkout master<br>
  ... set release version strings<br>
  git commit -am'PETSc 3.8 feature release'<br>
  git tag -s<br>
  git checkout maint<br>
  git merge --ff-only master<br>
  git checkout master<br>
  ... set PETSC_VERSION_RELEASE=0 (a flag meaning that this version is not a release)<br>
  git checkout next<br>
  git reset --hard master<br>
  git push origin maint master +next<br>
<br>
Then send an email announcing the release and that 'next' has been<br>
rewound.  The easiest thing for users is to run<br>
<br>
  git branch -D next<br>
<br>
in which case any subsequent<br>
<br>
  git checkout next<br>
<br>
will create it anew.<br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>-- Norbert Wiener</div><div><br></div><div><a href="http://www.caam.rice.edu/~mk51/" target="_blank">http://www.caam.rice.edu/~mk51/</a><br></div></div></div>
</div></div>