[yt-dev] How to issue multiple PR's on BitBucket?

Matthew Turk matthewturk at gmail.com
Thu Sep 11 10:47:06 PDT 2014


Hi Chris,

Here's what I do, which is very similar to what Nathan outlined.  I
use a combination of aliases and the remotebranches extension.  The
remotebranches extension mocks up the namespace of "ALIAS/BRANCH" for
the tip of any given branch on a given aliased repository.  (My
example that I gave in the earlier email was for when I'm not using
RB.)

So let's say I've got a bunch of stuff going on, but I identify an
isolated bug.  If I have not yet committed the fix, I do:

hg pull ytanalysis
hg up -r "ytanalysis/yt"
[fix bug]
hg commit
hg nudge

(I have aliased "nudge" to "push -r .")

Then I issue a pull request.  If I'm expecting it to take a long time,
I can also bookmark it at that point, which makes it easier to
remember which is which.

Other things that are useful are the shelve command, which will pull
all uncommitted changes into a spot that they can be unshelved from.
This is what I do if I find a bug and have to fix it.  Usually I'll do
"hg record" to interactively commit everything but the bug, then
shelve it, then update to the remote tip, unshelve, issue PR.

Mind you, some of this relies on things still being "draft"
changesets.  This means they haven't been pushed to a "publishing"
repository, which by default on BB I think repos are.  The fluidity
that comes with history rewriting using obsolete changesets in hg is
not yet accessible on BB, but I think it will be some day, and it will
make this whole process considerably easier.  The repo history will
still be append-only, but that append-only will include an obsolesence
indicator that shows which changesets have been supplanted.  This is
"safe" history rewriting.  I'm considering spinning up some Kallithea
instances for review of PRs that are likely to undergo lots of history
rewriting, as a supplement (but not replacement for) bitbucket, as
Kallithea already supports obsolete marker exchange.

Anyway, does that help at all?

-Matt

On Thu, Sep 11, 2014 at 12:14 PM, Chris Malone <chris.m.malone at gmail.com> wrote:
> Hey devs,
>
> I apologize in advance for my naivety...
>
> I asked this in IRC, and Kacper was kind enough to provide some insight, but
> alas I was still having problems getting this to work.  I know it involves
> bookmarks and heads, but I'm still not as familiar with mercurial as I am
> with git, so this all confuses my gitsense.  Also, I know there are others
> who have this issue - perhaps this should be on the docs page somewhere...
>
> Let's say I have my fork of yt wherein I already have a pending PR on BB.  I
> can't simply make changes to my fork and push them in the default
> branch/bookmark because BB likes to automagically update PRs.
>
> What is the recommended procedure for committing and pushing new changes to
> my fork so that I can issue an additional PR?  Do I create a bookmark, then
> commit my changes, then push that bookmark to BB?  If so, how then can I
> issue a PR from that bookmark - I can't seem to find this on the BB
> interface.
>
> Chris
>
> _______________________________________________
> yt-dev mailing list
> yt-dev at lists.spacepope.org
> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
>



More information about the yt-dev mailing list