HotSpot workflow

Roland Westrelin roland.westrelin at oracle.com
Tue Apr 14 12:52:00 UTC 2015


> I'm having some practical problems with the HotSpot workflow.
> 
> I usually have several patches on the fly at any time, but webrev and
> Mercurial don't really help.  "hg push" and "hg merge" work on the
> whole repo, not just a changeset, so I've been manually saving
> changesets and re-merging them into the master tree, which is very
> error-prone and has led to some mistakes submitting changes.
> 
> Also, the need to submit a change as a single changeset makes it
> awkward to commit regularly as I work on a patch; I can't find any way
> to merge a set of changes into a single changeset and push that.
> 
> So, what do you do?  Do you keep a source tree checked out for every
> webrev?  Do you regularly commit as you work?  Am I missing
> some tricks?

I, personally, keep a single hotspot tree with all my work in progress. I use bookmarks to keep track of the various projects/bugs I have in progress. I commit often and use the histedit extension to fold changesets and edit commit messages. I use the rebase extension to rebase after a pull. I make a copy of the repo before I push and have a script that strips every changeset not in the parent repo except the current one, which is the one I’m pushing.

I used to use mq but I’ve given up on it. This is what I used as inspiration:
http://gregoryszorc.com/blog/2014/06/23/please-stop-using-mq/

I also use revsets a lot:
http://www.selenic.com/hg/help/revsets

For instance:
hg log -r max(not outgoing())
tells me the latest changeset in my repo that is also in the remote repo so I know what to rebase to.

Roland.

> 
> Thanks,
> Andrew.



More information about the hotspot-dev mailing list