2.1 breaks my workflow (was Re: Mercurial 2.1-rc release candidate: please test!)
L. David Baron
dbaron at dbaron.org
Mon Jan 23 22:40:56 UTC 2012
On Friday 2012-01-20 16:17 -0600, Matt Mackall wrote:
> I've just tagged and uploaded the tarball for Mercurial 2.1-rc, which
> we'd like help testing.
>
> The biggest feature here is stage 1 of support for 'phases', a scheme
> that allows Mercurial to automatically track which changesets are
> published and thus allow you to safely rebase and modify local history.
>
> If you're already using mq or rebase today, this should 'just work':
> you'll be allowed to freely rewrite changesets that are 'draft', but
> you'll have to manually force changes on 'public' (already pushed).
So it turns out this breaks my primary development workflow.
I use mq for all of my development work on Mozilla. I frequently
want to test what I'm working on on multiple machines (different
platforms). Additionally, on my primary development platform
(Linux), I do most of my actual work on a laptop, but I do
compilation on a more powerful desktop using the same setup.
The way I've been doing this is to pull from a tree with mq patches
applied into other "throwaway" trees, from which I:
hg pull && hg up -c && make ...target...
This has two big advantages over other workflows:
(1) it's a lot faster than sharing queue repositories and pushing
them to the same state in different places
(2) It touches only the files that were modified, unlike pushing
and popping queues, which means I get the advantages of depend
builds (which, for a large project like Mozilla, is a big deal).
(I do all the qpop and qpush operations in the tree on my laptop,
which I don't build from.)
It seems that in 2.1, "hg serve" no longer serves changesets managed
by mq (and "hg help serve" doesn't show any way around this).
So I tried 2.1-rc, and now I've reverted back to 2.0.1.
-David
--
𝄞 L. David Baron http://dbaron.org/ 𝄂
𝄢 Mozilla http://www.mozilla.org/ 𝄂
More information about the Mercurial
mailing list