<div dir="ltr">Hear hear--this is awesome, Nathan.  I like the idea of having someone at the end of the PR Triage agree to run all of this.  Great job!<div><br></div><div>Cameron</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Aug 21, 2015 at 2:01 PM, Matthew Turk <span dir="ltr"><<a href="mailto:matthewturk@gmail.com" target="_blank">matthewturk@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi Nathan,<div><br></div><div>This is really incredible.  What we may want to do is conclude each PR Triage hangout with a request for someone to step up and volunteer to run this.  Then we'd have the "stable" branch up to date, and we could start encouraging people to be *on* stable.</div><div><br></div><div>In fact, if this is successful, we may want to encourage developers to start doing non-breaking development and whatnot on stable.  I'd like to see us get to a point where we view the stable as stable, not just "released", and we can start to do the more experimental work, like you suggested, in the "yt" branch.  But that's a bigger topic.</div><div><br></div><div>Thank you for doing this!</div><div><br></div><div>-Matt</div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="h5">On Fri, Aug 21, 2015 at 2:32 PM, Nathan Goldbaum <span dir="ltr"><<a href="mailto:nathan12343@gmail.com" target="_blank">nathan12343@gmail.com</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5"><div dir="ltr">Hi all,<div><br></div><div>I spent some time this week coming up with a technical solution to our social problem of doing bugfix releases. This is embodied in a new script, "pr_backport.py", which I've created a pull request for here to include with the yt repository.</div><div><br></div><div><a href="https://bitbucket.org/yt_analysis/yt/pull-requests/1717/add-pr-backport-script#comment-9292153" target="_blank">https://bitbucket.org/yt_analysis/yt/pull-requests/1717/add-pr-backport-script#comment-9292153</a></div><div><br></div><div>Briefly, the script creates a temporary clone of yt_analysis/yt, figures out which commits on the "yt" branch need to be included on the stable branch, and then assigns those commits to a pull request, and then interactively suggests mercurial commands to run in the temporary repository to backport individual pull requests to the stable branch. This is all done "manually" by copy/pasting mercurial commands suggested by the script. I don't think this should be fully automated since merge conflicts can and likely will be triggered, particularly if the stable and yt branches begin to substantially diverge.</div><div><br></div><div>My hope is that this will make the task of backporting bugfixes, which up until this point has been associated with such a high cognitive barrier that no one has wanted to sit down and acutally do it, much easier.</div><div><br></div><div>I might be biased since I wrote the script, but using the final version that I pull requested it took me about 10 minutes or so to go through the list of pull requests and backport them to create this pull request:</div><div><br></div><div><a href="https://bitbucket.org/yt_analysis/yt/pull-requests/1716/backporting-bugfixes-to-stable" target="_blank">https://bitbucket.org/yt_analysis/yt/pull-requests/1716/backporting-bugfixes-to-stable</a><br></div><div><br></div><div>Being able to backport bugfixes like this allows us to possibly make some changes to our development workflow and suggested best practices.</div><div><br></div><div>1. We can now suggest most users stay on the stable branch rather than switching to the dev branch to get bugfixes. We can also issue bugfix releases on a much quicker cadence (monthly? biweekly?).</div><div><br></div><div>2. Since the "stable" branch is more stable and less buggy and the dev branch is basically now just for new features, perhaps we can allow more experimental development on the main yt branch without an onerous requirement of documentation and review. This will help unblock the development of major features like support for unstructured mesh data and the new volume rendering interface.</div><div><br></div><div>3. Since there is less pressure to do a feature release just to get bugfixes out, we might be able to have longer intervals between feature releases, giving more time</div><div>to shake out issues.</div><div><br></div><div>I'm more or less just throwing these thoughts out there to get feedback from the development community. Does the easy availability of bugfix releases constitute a significant change for our development and release mindset?</div><div><br></div><div>Thanks all for your time and input!</div><span><font color="#888888"><div><br></div><div>-Nathan</div></font></span></div>
<br></div></div>_______________________________________________<br>
yt-dev mailing list<br>
<a href="mailto:yt-dev@lists.spacepope.org" target="_blank">yt-dev@lists.spacepope.org</a><br>
<a href="http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org" rel="noreferrer" target="_blank">http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org</a><br>
<br></blockquote></div><br></div>
<br>_______________________________________________<br>
yt-dev mailing list<br>
<a href="mailto:yt-dev@lists.spacepope.org">yt-dev@lists.spacepope.org</a><br>
<a href="http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org" rel="noreferrer" target="_blank">http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div>Cameron Hummels<div><span style="font-size:12.8000001907349px">NSF Postdoctoral Fellow</span></div><div><span style="font-size:12.8000001907349px">Department of Astronomy</span></div><div><span style="font-size:12.8000001907349px">California Institute of Technology</span><br></div><div><a href="http://chummels.org" style="font-size:12.8000001907349px" target="_blank">http://chummels.org</a><br></div></div></div></div>
</div>