Francois Marier: Mercurial and Bitbucket workflow for Gecko development |
While it sounds like I should really switch to a bookmark-based Mercurial workflow for my Gecko development, I figured that before I do that, I should document how I currently use patch queues and Bitbucket.
After creating a new bug in Bugzilla, I do the following:
mozilla-central-mq-BUGNUMBER repo on Bitbucket using the web
interface and use https://bugzilla.mozilla.org/show_bug.cgi?id=BUGNUMBER
as the description.hg qqueue -c BUGNUMBERhg init --mqhg qnew -Ue bugBUGNUMBER.patchhg commit --mq -m "Initial version"hg push ssh://hg@bitbucket.org/fmarier/mozilla-central-mq-BUGNUMBERMake the above URL the default for pull/push by putting this in
.hg/patches-BUGNUMBER/.hg/hgrc:
[paths]
default = https://bitbucket.org/fmarier/mozilla-central-mq-BUGNUMBER
default-push = ssh://hg@bitbucket.org/fmarier/mozilla-central-mq-BUGNUMBER
I like to preserve the history of the work I did on a patch. So once I've got some meaningful changes to commit to my patch queue repo, I do the following:
hg qrefhg diff --mqhg commit --mqhg push --mqSince I have one patch queue per bug, I can easily work on more than one bug at a time without having to clone the repository again and work from a different directory.
Here's how I switch between patch queues:
hg qpop -ahg qqueue BUGNUMBERhg qpush -aTo rebase my patch onto the latest mozilla-central tip, I do the following:
hg qpop -ahg pull -uhg qpush and resolve any conflictshg qrefhg commit --mq -m "Rebase patch"Thanks to Thinker Lee for telling me about
qqueue and Chris Pearce for explaining to me
how he uses mq repos on Bitbucket.
Of course, feel free to leave a comment if I missed anything useful or if there's a easier way to do any of the above.
http://feeding.cloud.geek.nz/posts/mercurial-bitbucket-workflow-for-gecko-development/
| Комментировать | « Пред. запись — К дневнику — След. запись » | Страницы: [1] [Новые] |