Introduces new flag --http [ADDRESS] that spins up an HTTPD serving
`outdir'. By default it will spin up a server on 0.0.0.0:6666.
r=ahal
--HG--
extra : commitid : EP5vOiGxJM7
extra : rebase_source : e6a8c4c44ccf45eb3a570d6e0575999c72465fec
tools/power/rapl.cpp:844:5 [-Wunreachable-code] code will never be executed
clang reports a -Wunreachable-code warning for sigemptyset() because Darwin's sigemptyset() is a macro that always returns 0. Thus `if (sigemptyset(&sa.sa_mask) < 0)` is always false and `Abort("sigemptyset() failed")` is never called. Linux's sigemptyset() can return 0 or -1. The extra parens around (0) suppress the clang warning.
Now, running |mach doc <path/to/project>| will generate the sphinx based docs of the project and open them
in the default browser. Mulitple doc paths can be supplied at a time. E.g:
./mach doc testing/mozbase
--HG--
extra : commitid : IOguvvudLzw
extra : rebase_source : c53788d259c7f69be997426227778820ec99dd26
extra : amend_source : 5fa5069d1c7c8d5d93fefb56563af9bd28286b90
The Read the Docs environment doesn't have SHELL defined. This causes
mach.mixin.process's import to fail, as it insists on finding an active
shell. While we could fix mach.mixin.process to not raise if the
variable is not set, this is a bit more work and has wider build system
and mach implications. So we employ a quick hack instead.
DONTBUILD (NPOTB)
--HG--
extra : commitid : 23fRi9TQht4
extra : rebase_source : 4b3d0833f789a73fee67c0cadcf525434f08f78b
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout. The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.
CLOSED TREE makes big refactorings like this a piece of cake.
# The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
xargs perl -p -i -e '
s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
s/nsRefPtr ?</RefPtr</g; # handle declarations and variables
'
# Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h
# Handle nsRefPtr.h itself, a couple places that define constructors
# from nsRefPtr, and code generators specially. We do this here, rather
# than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
# things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
mfbt/nsRefPtr.h \
xpcom/glue/nsCOMPtr.h \
xpcom/base/OwningNonNull.h \
ipc/ipdl/ipdl/lower.py \
ipc/ipdl/ipdl/builtin.py \
dom/bindings/Codegen.py \
python/lldbutils/lldbutils/utils.py
# In our indiscriminate substitution above, we renamed
# nsRefPtrGetterAddRefs, the class behind getter_AddRefs. Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'
if [ -d .git ]; then
git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi
--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
This commit was generated using the following script, executed at the
top level of a typical source code checkout.
# Don't modify select files in mfbt/ because it's not worth trying to
# tease out the dependencies currently.
#
# Don't modify anything in media/gmp-clearkey/0.1/ because those files
# use their own RefPtr, defined in their own RefCounted.h.
find . -name '*.cpp' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
grep -v 'mfbt/RefPtr.h' | \
grep -v 'mfbt/nsRefPtr.h' | \
grep -v 'mfbt/RefCounted.h' | \
grep -v 'media/gmp-clearkey/0.1/' | \
xargs perl -p -i -e '
s/mozilla::RefPtr/nsRefPtr/g; # handle declarations in headers
s/\bRefPtr</nsRefPtr</g; # handle local variables in functions
s#mozilla/RefPtr.h#mozilla/nsRefPtr.h#; # handle #includes
s#mfbt/RefPtr.h#mfbt/nsRefPtr.h#; # handle strange #includes
'
# |using mozilla::RefPtr;| is OK; |using nsRefPtr;| is invalid syntax.
find . -name '*.cpp' -o -name '*.mm' | xargs sed -i -e '/using nsRefPtr/d'
# RefPtr.h used |byRef| for dealing with COM-style outparams.
# nsRefPtr.h uses |getter_AddRefs|.
# Fixup that mismatch.
find . -name '*.cpp' -o -name '*.h'| \
xargs perl -p -i -e 's/byRef/getter_AddRefs/g'
f6d18678498b / bug 1212427 introduced a few more dependencies. Add them
to sys.path in the Sphinx config so Sphinx works on Read the Docs.
--HG--
extra : commitid : I2WmZNyGBLu
extra : rebase_source : 61b7a66c558321fc6550453411744c12fdd49f60
extra : amend_source : 8020e34f6c8a809fb1c323180b3a96433bbc2d2f
Various bits depend on RefPtr.h to provide RefCounted<T> and RefPtr<T>.
It will be easier to manage an automatic conversion from RefPtr<T> to
nsRefPtr<T> if we split out the dependency on RefCounted<T> first.
This commit renames ProfileEntry::set{Js,Cpp}Frame methods to
ProfileEntry::init{Js,Cpp}Frame to highlight the fact that they are intended to
initialize the entry, and that setting other flags should happen after one of
these calls.
This extracts the most useful browser-related measurements from rapl and
powermetrics.
--HG--
extra : rebase_source : 81ce14acc6c6e1bc7ac6c34bf119d8e619956dd1
All extensions in version-control-tools should support Bugzilla API Keys
now. MozReview requires them. We'll likely remove support for passwords
and cookie auth in the future. This commit transitions the Mercurial
setup wizard to API Keys exclusively.
DONTBUILD (NPOTB)
--HG--
extra : commitid : DM33vGsljQz
extra : rebase_source : 047cd10eb976719ce94478a9a08363dbcd86ae68
The "gpu" and "ram" domains aren't supported by all platforms. rapl has a
special constant |kUnsupported_j| to represent this on Linux, but I
accidentally have a minus sign in front of it in several places, which means
that instead of printing "n/a" for unsupported planes we always print "1.0".
I think this happened because I used to hardwire -1 in there and then I later
changed it to a constant but forgot to remove the minus signs.
It sure would be nice to have automated testing for this stuff, but I don't see
how to do it.
The certificate was updated to a SHA-2 certificate.
DONTBUILD (NPOTB)
--HG--
extra : commitid : 11QMFkjpCTa
extra : rebase_source : b9e005c278ef223066a58d78029ccbb4a1c1c9e4
extra : amend_source : bb1bcd8003fa644ce4c8876ec2aa7ac20790ad9e
The patch removes 455 occurrences of FAIL_ON_WARNINGS from moz.build files, and
adds 78 instances of ALLOW_COMPILER_WARNINGS. About half of those 78 are in
code we control and which should be removable with a little effort.
--HG--
extra : rebase_source : 82e3387abfbd5f1471e953961d301d3d97ed2973
Having multiple version-control-tools repositories references in your
hgrc could lead to one repository importing code from another, depending
on how sys.path modification works from version-control-tools
repositories. Detect it and issue a warning.
--HG--
extra : commitid : 2rfQARjGfu9
extra : rebase_source : 01d221cdc4b462cb52041d1d18f121e09b23125c
extra : amend_source : bac3fd876d6c8f0a3a94f4ae25950f5971dcb869
Users may want to know what the wizard is changing before they answer
prompts. Add the names of impacted config options to messages so people
can make more informed decisions.
--HG--
extra : commitid : 6p2kijj68zV
extra : rebase_source : 6468ab56fad7292ac9811c546882693aee8b5922
We want to encourage people to use reviewboard over bzexport.
--HG--
extra : commitid : 4SacVKrLjxU
extra : rebase_source : 8a466b026d273a10e09184a21d14870cfb89b959
Progress is enabled by default in Mercurial 3.5. extensions.progress
no-ops. Don't prompt for it on newer Mercurial versions.
--HG--
extra : commitid : 5zyqyanQ64o
extra : rebase_source : 9fe52282b715949b8565683ffce9a7538325b3c6
The messaging on this could be bikeshedded. Something is better than
nothing, that's for sure.
--HG--
extra : commitid : BIflUCCjwsg
extra : rebase_source : 72913ca7cfeadaf6f3efd1a277282a6786d2ba66
Before, we prompted for Bugzila username/password if the hgrc contained
credentials in cookie form. Don't do that.
--HG--
extra : commitid : 1aGcwtZzsDM
extra : rebase_source : e7a1355f44b641337adb6cefd3c90ef1bf077fbd
~/.hgrc files are likely created with the user's default umask, which
commonly gives default permissions of 644. If the hgrc config contains
sensitive information (such as Bugzilla credentials), these file
permissions could result in others stealing sensitive data.
Detect when the group and other file mode bits are set and prompt to
remove these permissions.
--HG--
extra : commitid : 6vVKQNd9yLi
extra : rebase_source : 860379bfbf8fdb4eef70b069e41a41239d93e40f
Bugzilla credentials are optional. Make this more obvious by adding
"optional" to the prompt.
Bugzilla credentials are stored in plain text. Explicitly call this out
in the help text so users can make informed decisions about whether to
capture the credentials.
--HG--
extra : commitid : DjPaYeh7oTo
extra : rebase_source : 05439551c097af9407ba15a54ab558637af4658b
When we pause the sampler in the parent, we should pause it in the child as well.
Similarly, when the parent resumes, the child should also resume.
--HG--
extra : commitid : CI7X3B04eB5
extra : rebase_source : 8fdaae4004015fa54747599cff54acd187683a71
extra : amend_source : d5960310c462c208485802d70b1535f09ceaeccf
configobj doesn't support semicolon comments. Why, I don't know, since
they are pretty common in ini files.
Do a static check for semicolon comments and print a more actionable
error message.
--HG--
extra : commitid : CULjsg4do9Z
extra : rebase_source : f135cc726462c73a8363ebb8c98092177cf7ffd3
extra : amend_source : 0b8c67d5b0be3bc07cf7ff4f136bb58d342368c4
An upcoming commit will display the path of the config file in the error
message. In order to do this, the calling scope needs to know the path
to the config file.
--HG--
extra : commitid : 5CDrz1hQOOA
extra : rebase_source : 1c29359c9e98b15c99de9efb30add0b0a108aa59
extra : amend_source : 1aa2c504ce72fbdeae1da2f0a6f876e37c46f5f8
They aren't needed.
--HG--
extra : commitid : 62sGc753PYY
extra : rebase_source : 8fc70f03909e693c20b756828045c4844b43325e
extra : amend_source : aa3e557c6e81824ed8788a8412f7ead09731f42d
The creation of the directory used to be handled by the running of the
wizard. Now, since we touch the state file first, we need to create the
directory manually. Derp.
--HG--
extra : commitid : AyZNZgiy6c9
extra : rebase_source : 6deae7653be73f1245a0e1df924f05ccf9cc289c
extra : amend_source : c078de8411e6f6ce2321a03aac071f097beab1b5
Mach grew support for docstrings in `mach help` output a few weeks ago.
Add a docstring for `mach mercurial-setup`.
--HG--
extra : commitid : G9xQeLS1Lo5
extra : rebase_source : 2dca87da7e973317dbce7f715d48c7109f65f922
While not common, there are a few cases where `mach mercurial-setup`
fails. When checking the last time this command was executed, it is
sufficient to record the intent to run the command, not the fact that it
executed to completion.
--HG--
extra : commitid : K9SMNXWNIgl
extra : rebase_source : 3275e2162e0e4cf4e00c66271458b08b4f2e5f7e
The bulk of this commit was generated by running:
run-clang-tidy.py \
-checks='-*,llvm-namespace-comment' \
-header-filter=^/.../mozilla-central/.* \
-fix