gecko/build
Gregory Szorc a0bab6cb57 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 31 days, 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 month. 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.
2015-07-14 14:20:03 -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
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
application.ini
automation-build.mk
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
buildconfig.py
checksums.py
defines.sh
dumbmake-dependencies
dumpScreen.py
gecko_templates.mozbuild
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
mach_bootstrap.py Bug 1182677 - Aggressively prompt to run mach mercurial-setup; r=smacleod 2015-07-14 14:20:03 -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
mozconfig.automation
mozconfig.cache Bug 1181040 - Include mozconfig.cache after mozconfig.common.override. r=mshal 2015-07-11 06:26:20 +09:00
mozconfig.common
mozconfig.common.override
mozconfig.vs-common
mozconfig.win-common
msys-perl-wrapper
qemu-wrap
sccache.mk
subconfigure.py
templates.mozbuild
update-settings.ini
upload.py
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