On Wednesday, February 11, 2015 at 1:04:55 PM UTC-8, Andrew Halberstadt wrote: > Thank you very much! This gets around the last major pain point with > using bookmarks. And yes, changeset evolution please :). > > On 10/02/15 06:37 PM, Gregory Szorc wrote: > > Mercurial has a feature called "phases." When you push to a "publishing" > > repository, Mercurial sets the "phase" of the commit to "public" and > > Mercurial will refuse to let you modify/rewrite that commit. The purpose of > > this feature is to prevent you from footgunning yourself by rewriting > > history that has been shared with others. This is essentially formalization > > of the best practice that "thou shall not rewrite history and force push." > > Read more at https://hg.mozilla.org/mozilla-central/help/phases. > > > > When phases is deployed properly, the feature helps prevents pain and > > suffering. > > > > Unfortunately, phases was not deployed properly on hg.mozilla.org. > > > > Mercurial repositories are publishing by default. You need to explicitly > > set a config option to make them non-publishing. We never set this config > > option on hg.mozilla.org, so all repositories were publishing. If you e.g. > > create a user repository, push a bookmark, then attempt to rewrite pushed > > changesets, your Mercurial client won't let you unless you manually reset > > the phase data locally. This is extremely annoying and makes modern (I dare > > say Git-like) workflows pretty much not possible when pushing to > > hg.mozilla.org. In other words, server badness made client-side development > > suffer as well. > > > > As of today, the configuration of phases on hg.mozilla.org has been fixed > > and *user repositories are now non-publishing by default*. If you push > > "draft" changesets to a user repository on hg.mozilla.org, they will remain > > as draft changesets and your Mercurial client will let you happily partake > > in modern workflows based on rewriting history. > > > > *All existing user repositories tied to active user accounts have been > > marked as non-publishing.* > > > > If for some reason you want to mark your user repository as publishing, > > `ssh hg.mozilla.org edit repo-name` will bring up a wizard that has an > > option to make repositories publishing. > > > > Also, there was previously an issue with replication from ssh:// > > hg.mozilla.org to https://hg.mozilla.org that was preventing bookmarks and > > phases from replicating properly. This issue has been resolved as of last > > Friday. You should now be able to use hg.mozilla.org as a sane repository > > hosting service. > > > > And since I know a few of you will ask, yes, it might be possible to enable > > obsolescence / changeset evolution on user repositories as an opt-in > > feature. I'm actively looking into this. > > > > If you would like the phases in your repository reset to draft, ping me on > > IRC and I'll happily do it as a one-off. If enough people ask, we'll make > > it self-service. > > > > If you notice any problems, head over to #vcs or bug 1089385. > > > > gps > >
Thanks for all your work on Mercurial gps! I've been using evolve for a few months locally now but I do not understand what you mean by enabling it on the server. Will that affect how I do hg pushes to user repos after amending/folding/pruning/solving patches? Nikhil _______________________________________________ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform