<div dir="ltr">A lot of good information here - thanks Matt and Nathan.  I'll play with the two approaches to see which better fits my workflow.  I imagine others will be benefited from this discussion as well, and it might be worth adding a note in the docs.  I'll add that to my todo list.<div><br></div><div>Chris</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Sep 11, 2014 at 11:47 AM, 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">Hi Chris,<br>
<br>
Here's what I do, which is very similar to what Nathan outlined.  I<br>
use a combination of aliases and the remotebranches extension.  The<br>
remotebranches extension mocks up the namespace of "ALIAS/BRANCH" for<br>
the tip of any given branch on a given aliased repository.  (My<br>
example that I gave in the earlier email was for when I'm not using<br>
RB.)<br>
<br>
So let's say I've got a bunch of stuff going on, but I identify an<br>
isolated bug.  If I have not yet committed the fix, I do:<br>
<br>
hg pull ytanalysis<br>
hg up -r "ytanalysis/yt"<br>
[fix bug]<br>
hg commit<br>
hg nudge<br>
<br>
(I have aliased "nudge" to "push -r .")<br>
<br>
Then I issue a pull request.  If I'm expecting it to take a long time,<br>
I can also bookmark it at that point, which makes it easier to<br>
remember which is which.<br>
<br>
Other things that are useful are the shelve command, which will pull<br>
all uncommitted changes into a spot that they can be unshelved from.<br>
This is what I do if I find a bug and have to fix it.  Usually I'll do<br>
"hg record" to interactively commit everything but the bug, then<br>
shelve it, then update to the remote tip, unshelve, issue PR.<br>
<br>
Mind you, some of this relies on things still being "draft"<br>
changesets.  This means they haven't been pushed to a "publishing"<br>
repository, which by default on BB I think repos are.  The fluidity<br>
that comes with history rewriting using obsolete changesets in hg is<br>
not yet accessible on BB, but I think it will be some day, and it will<br>
make this whole process considerably easier.  The repo history will<br>
still be append-only, but that append-only will include an obsolesence<br>
indicator that shows which changesets have been supplanted.  This is<br>
"safe" history rewriting.  I'm considering spinning up some Kallithea<br>
instances for review of PRs that are likely to undergo lots of history<br>
rewriting, as a supplement (but not replacement for) bitbucket, as<br>
Kallithea already supports obsolete marker exchange.<br>
<br>
Anyway, does that help at all?<br>
<br>
-Matt<br>
<div class="HOEnZb"><div class="h5"><br>
On Thu, Sep 11, 2014 at 12:14 PM, Chris Malone <<a href="mailto:chris.m.malone@gmail.com">chris.m.malone@gmail.com</a>> wrote:<br>
> Hey devs,<br>
><br>
> I apologize in advance for my naivety...<br>
><br>
> I asked this in IRC, and Kacper was kind enough to provide some insight, but<br>
> alas I was still having problems getting this to work.  I know it involves<br>
> bookmarks and heads, but I'm still not as familiar with mercurial as I am<br>
> with git, so this all confuses my gitsense.  Also, I know there are others<br>
> who have this issue - perhaps this should be on the docs page somewhere...<br>
><br>
> Let's say I have my fork of yt wherein I already have a pending PR on BB.  I<br>
> can't simply make changes to my fork and push them in the default<br>
> branch/bookmark because BB likes to automagically update PRs.<br>
><br>
> What is the recommended procedure for committing and pushing new changes to<br>
> my fork so that I can issue an additional PR?  Do I create a bookmark, then<br>
> commit my changes, then push that bookmark to BB?  If so, how then can I<br>
> issue a PR from that bookmark - I can't seem to find this on the BB<br>
> interface.<br>
><br>
> Chris<br>
><br>
</div></div><div class="HOEnZb"><div class="h5">> _______________________________________________<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" target="_blank">http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org</a><br>
><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" target="_blank">http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org</a><br>
</div></div></blockquote></div><br></div>