HotSpot workflow (original) (raw)

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