Closed Bug 1185354 Opened 9 years ago Closed 8 years ago

mach mercurial-setup should not be required for clobber/build

Categories

(Firefox Build System :: Mach Core, enhancement)

enhancement
Not set
normal

Tracking

(Not tracked)

RESOLVED DUPLICATE of bug 1277406

People

(Reporter: bkelly, Assigned: gps)

References

Details

Please do not require mercurial-setup for such operations as ./mach clobber and ./mach build.  Its absolutely unnecessary for these cases since I already have a checkout of the tree.

Its also hugely obnoxious to require it here since it blocks me from just getting work done.  (Like preparing my laptop before getting on a plane.)

At the very least mach help mercurial-setup should mention the I_PREFER_A_SUBOPTIMAL_MERCURIAL_EXPERIENCE variable.  Burying this and simultaneously blocking basic work operations is pretty ridiculous.
Summary: mach mercurial-setup should be required for clobber/build → mach mercurial-setup should not be required for clobber/build
Depends on: 1182677
+1
Plus One.

I have to move patches between machines/repos often, and I find this cheese-moving blocks my workflow significantly and is obnoxious. Especially since I'm often on Windows where most of the shiny things don't work and ./mach mercurial-setup usually fails most of the time anyway.
I appreciate that you're trying to make people more productive, but I find this very disruptive.

Sticking up this prompt does not make me change the workflow that has been working for me for years, it makes me select the "whatever!" option repeatedly until I can just get on with using my existing workflow which I find productive. It acts as a roadblock, a speed bump.

I would have much preferred if you just printed a warning "Your mercurial experience may be suboptimal, run `mach mercurial-setup` to try the new shiny", rather than making it impossible for me to build without jumping through some hoops.

Typically I hit this prompt when I move patches between machines, say my patch doesn't compile on another platform, a machine where I rarely work, and I import my patch queue there and I type "./mach build" and have this prompt thrown up and block my productivity. I just want to work, I don't want to be jumping through hoops.

Yes, I'm a curmudgeon/stalwart, who'd rather spend time Getting Things Done than playing around with tools.
FFS. Just fix this.
252828:f06616ee7b2b
Gregory Szorc <gps@mozilla.com>
Tue Jul 14 13:53:50 2015 -0700
Bug 1182677 - Aggressively prompt to run `mach mercurial-setup`; r=smacleod
Assignee: nobody → gps
I think the reasonable thing to do is to stop making mach complain, and make *mercurial* do so instead. So something like this: running mach adds a small extension in $repo/.hg/hgrc that does the "Your mercurial experience may be suboptimal" check.
And make that warn, not fail. With warnings at every hg command, people will likely do something about it. And if they don't care about it, like most people who are currently annoyed by this whole thing (me included), they can ignore it.
I don't want it during update, either. I don't know why this has to happen at all, ever, in any situation.

Some people or some machines (see cpearce) might never commit at all, only checkout/update. You don't know my situation and usecase, your concerns might simply not apply here. I couldn't care less about hg, much less it being "optimal" on my machine. I wouldn't tolerate this nagging from any tool. (Remember "Shareware"?)
So, will someone accept a patch to remove this warning entirely?  It's unclear to me given :gps silence here so far...
I have submitted a patch to have a more sensible env variable name
and to tell you about it in the warning.

https://bugzilla.mozilla.org/show_bug.cgi?id=1246402

I would also be satisfied with having this warning/error removed
entirely.
As I blogged about at http://gregoryszorc.com/blog/2015/07/17/prompting-to-run-mach-mercurial-setup/, I'm not a huge fan of the current implementation (read: forced execution) either.

I know I've said this before (but I'm not sure where), but I think the proper thing to do is refactor all the "bootstrap" related functionality under a single command. We already have `mach bootstrap`, `mach mercurial-setup`, and `mach doctor` doing system configuration foo. We don't have a command/wizard for creating a build system configuration (mozconfig). We don't have a wizard for configuring Git (and it shows because the Mozilla Git tools are a fragmented mess). We don't have a good transition between the one-line system bootstrap tool and cloning the repository. We don't even advertise git-cinnabar at that step, despite git-cinnabar being required for Git users to use MozReview!

I'd like to see a cohesive first run experience built into the one-line bootstrapper and the first time you run `mach`. We already have a prompt the first time you run `mach` to create the ~/.mozbuild state directory. Yes, this is a bit annoying. But it only runs the first time you run `mach` on a machine. And it is the perfect opportunity to prompt and give users the choice to launch into an interactive wizard to help get the best experience possible.
This was addressed in bug 1277406.
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → DUPLICATE
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.