gecko-dev/build
Gregory Szorc 45c880523f Bug 1182677 - Aggressively prompt to run mach mercurial-setup; r=smacleod
Having not configured or out-of-date tools benefits nobody. It slows
people down.

Version control tools are an integral part of working on Firefox. It is
important for version control tools to be configured optimally and to be
continuously updated so they stay optimal.

The `mach mercurial-setup` command exists to optimally configure
Mercurial for working on Firefox and other Mozilla projects.

This commit adds a pre-dispatch handler to mach that will verify
Mercurial is in a happy state. If `mach mercurial-setup` has never
executed, it will complain. If `mach mercurial-setup` hasn't been
executed in the past 2 weeks, it will complain.

Yes, aborting command execution and forcing people to context switch to
run `mach mercurial-setup` is annoying. First, we have carved out
several exceptions to this behavior, including detection for running in
automation, on the machines of curmudgeons, when Mercurial isn't being
used, and from non-interactive processes. Second, I argue that people
ignore optional notifications and that having persistently
poorly-configured tools is worse than a single context switch at most
every 2 weeks. Therefore, the heavyhanded approach is justified.

In addition, if we did support a non-fatal notification, we would
introduce the problem of extra output from commands. If anyone was e.g.
parsing mach output, we could very likely break those systems. These
cases should be caught by the isatty() check or be running in a context
with MOZ_AUTOMATION set. But you never know.

--HG--
extra : commitid : AWLag0bpQOY
extra : rebase_source : fba19b918e9eadc6d5976c10d82974fb7e835e9d
2015-07-14 13:53:50 -07:00
..
annotationProcessors Bug 1178850 - Generate naive method bindings in annotation processor; r=snorp 2015-07-10 23:41:35 -04:00
autoconf Bug 1180132 - android.m4: RecyclerView library should not be dependent on flag $MOZ_NATIVE_DEVICES. r=nalexander 2015-07-03 14:46:57 +02:00
clang-plugin Bug 1123386 - Part 2: Temporarily relax the libstdc++ symbol version requirements for Linux static analysis builds; r=glandium 2015-07-13 22:42:14 -04:00
compare-mozconfig
docs Bug 1128037 - Minimalist support for wildcards in jar manifests. r=gps 2015-05-05 09:25:24 +09:00
macosx Bug 1181040 - Include mozconfig.cache after mozconfig.common.override. r=mshal 2015-07-11 06:26:20 +09:00
mobile Bug 1179981 - A new test harness for robocop; r=jmaher 2015-07-09 12:30:01 -06:00
package/mac_osx
pgo Bug 1171820 - Convert test_bug483440.html mochitest to an xpcshell test. r=keeler 2015-06-13 00:51:00 +02:00
pymake
release
sanitizers Bug 1129226 - Update LSan suppression for fixPlainObjectGroup. rs=ryanvm 2015-02-06 10:02:44 -08:00
stlport Bug 1162779 - Move NO_EXPAND_LIBS to moz.build. r=mshal 2015-05-12 07:26:42 +09:00
unix Bug 1123386 - Part 1: Update the clang build script for the most recent clang; r=rail 2015-07-13 22:42:12 -04:00
util
valgrind Bug 1176642 - Use absolute_import in mach_commands.py files; r=glandium 2015-06-21 17:39:09 -07:00
win32 Bug 1170522 - expose whether or not we're in tablet mode to xul/js/css, r=jimm,ted 2015-06-16 19:51:29 +01:00
win64 Bug 1170522 - expose whether or not we're in tablet mode to xul/js/css, r=jimm,ted 2015-06-16 19:51:29 +01:00
__init__.py
.lldbinit.in
appini_header.py Bug 1024110 - Change Aurora's default profile behavior to use channel-specific profiles. r=bsmedberg f=gavin,markh 2014-09-23 21:49:03 +03:00
application.ini Bug 1024110 - Change Aurora's default profile behavior to use channel-specific profiles. r=bsmedberg f=gavin,markh 2014-09-23 21:49:03 +03:00
automation-build.mk Backout 4aa280efb6ea (bug 1114745) for various test bustage 2014-12-23 10:40:57 -05:00
automation.py.in Bug 1177780 - remove useless stuff in automation.py. r=jgriffin 2015-06-26 22:45:18 +02:00
automationutils.py Bug 1091274 - Move leak log functions out of automationutils and into mozbase. r=jgriffin 2015-07-03 07:04:22 +02:00
binary-location.mk Bug 1078033 - Remove remaining Camino code. r=ted 2014-10-10 17:00:29 +02:00
buildconfig.py
checksums.py
defines.sh
dumbmake-dependencies
dumpScreen.py
gecko_templates.mozbuild Bug 1134039: Make SpiderMonkey standalone (JS_STANDALONE) builds use jemalloc and mozglue by default. r=glandium 2015-03-19 02:12:53 -07:00
gen_mach_buildprops.py Bug 1155349 - set packageFilename in mach properties; r=glandium 2015-05-13 14:26:53 -04:00
gen_test_packages_manifest.py Bug 917999 - Part 3.1 - Prepare taskcluster for a split test package.;r=jlal 2015-06-29 11:16:51 -07:00
genrc.sh
gyp.mozbuild Backed out 11 changesets (bug 1132771) for SM test bustage on a CLOSED TREE. 2015-03-02 09:48:11 -05:00
mach_bootstrap.py Bug 1182677 - Aggressively prompt to run mach mercurial-setup; r=smacleod 2015-07-14 13:53:50 -07:00
Makefile.in Bug 892973 - Add support for the YouCompleteMe vim plugin; r=gps 2015-04-27 13:08:43 -04:00
moz-automation.mk Bug 1175895 - separate tier start message for mach; r=ted 2015-06-17 16:59:20 -04:00
moz.build Bug 870891 - move DIST_FILES to moz.build; r=mshal 2015-04-15 16:04:49 -04:00
mozconfig.automation Bug 1137000 - Add support for SDK building to moz-automation.mk. r=mshal 2015-02-26 09:54:19 +09:00
mozconfig.cache Bug 1181040 - Include mozconfig.cache after mozconfig.common.override. r=mshal 2015-07-11 06:26:20 +09:00
mozconfig.common Revert unintentional change to crash reporting infra in changeset ce2692d64bcf DONTBUILD 2015-03-31 15:51:24 -07:00
mozconfig.common.override
mozconfig.vs-common Bug 1061335 - Part 1: Rename mozconfig.vs2010-common to mozconfig.vs-common. r=glandium 2014-09-03 10:32:37 +12:00
mozconfig.win-common bug 1085557 - Add Socorro symbol upload token file to mac and windows mozconfigs. r=coop 2015-02-27 08:58:57 -05:00
msys-perl-wrapper
qemu-wrap
sccache.mk
subconfigure.py Bug 1094624 - Resist to more multiprocessing problems in build/subconfigure.py. r=gps,a=kwierso 2014-11-07 10:16:42 +09:00
templates.mozbuild Bug 1077148 part 4 - Add and use new moz.build templates for Gecko programs and libraries. r=gps 2014-10-30 13:06:12 +09:00
update-settings.ini
upload.py Bug 1118774 - Add retries to ssh/scp in upload.py; r=gps 2015-01-07 15:48:13 -05:00
virtualenv_packages.txt bug 1166976 - generate some PSM xpcshell test certificates at build time r=Cykesiopka,mgoodwin,froydnj 2015-05-20 16:35:16 -07:00