96934755c9c5bda247aa8f7601344fc6787fe942: Bug 1168607 - Make `mach file-info` work with Mercurial repos; r=glandium
Gregory Szorc <gps@mozilla.com> - Tue, 09 Jun 2015 13:43:22 -0700 - rev 247785
Push
60808 by gszorc@mozilla.com at Wed, 10 Jun 2015 01:21:12 +0000
Bug 1168607 - Make `mach file-info` work with Mercurial repos; r=glandium
This commit adds support for specifying a Mercurial revision with `mach
file-info`. Aside from being a potentially useful feature, it proves
that MercurialRevisionFinder works with BuildReader.
1b4a8275f7f2c2f2474f780e3b9e30457d74342c: Bug 1168607 - Add mode to MercurialFileFinder to support non-relative paths; r=glandium
Gregory Szorc <gps@mozilla.com> - Mon, 08 Jun 2015 09:33:46 -0700 - rev 247784
Push
60808 by gszorc@mozilla.com at Wed, 10 Jun 2015 01:21:12 +0000
Bug 1168607 - Add mode to MercurialFileFinder to support non-relative paths; r=glandium
The moz.build reader uses absolute paths when referencing moz.build
files. *Finder classes expect paths to be relative to a base. When we
switched the reader to use *Finder instances for I/O, we simply provided
a default FileFinder based at the filesystem root. This was quick and
easy. Things worked.
Unfortunately, that solution isn't ideal because not all *Finder
instances can accept absolute paths like that. The
MercurialRevisionFinder is one of them.
Changing the moz.build reader to talk in terms of relative paths is a
lot of work. While this would be ideal, it is significantly easier to
defer the problem until later and hack up MercurialRevisionFinder to
accept absolute paths. This commit does exactly that.
Bug 1171069 has been filed to track converting BuildReader to relative
paths.
ab4010e0785fb1a6688f93626e1e30dbefe075db: Bug 1168607 - Implement a finder that reads from a Mercurial repo; r=glandium
Gregory Szorc <gps@mozilla.com> - Tue, 09 Jun 2015 13:39:01 -0700 - rev 247783
Push
60808 by gszorc@mozilla.com at Wed, 10 Jun 2015 01:21:12 +0000
Bug 1168607 - Implement a finder that reads from a Mercurial repo; r=glandium
Now that moz.build files use finders for I/O, we can start reading
moz.build data from other sources.
Version control is essentially a filesystem. We implement a finder
that speaks to Mercurial to obtain file data. It is able to obtain
file data from a specific revision in the repository.
We use the hglib package (which uses the Mercurial command server) for
speaking with Mercurial. This adds overhead compared to consuming the
raw Mercurial APIs. However, it also avoids GPL side-effects of
importing Mercurial's Python modules.
Testing shows that performance is good but not great. A follow-up
commit will introduce a GPL licensed Mercurial finder. For now, get
the base functionality in place.
4001a09e72858ab2e70d9b9bbbdfe36d0b7c1fe2: Bug 1168607 - Use mozpack Finders for reading moz.build files; r=glandium
Gregory Szorc <gps@mozilla.com> - Tue, 09 Jun 2015 18:16:35 -0700 - rev 247782
Push
60808 by gszorc@mozilla.com at Wed, 10 Jun 2015 01:21:12 +0000
Bug 1168607 - Use mozpack Finders for reading moz.build files; r=glandium
Sometimes moz.build data may not come from the local filesystem. To
support defining moz.build data in other backing stores, we switch
moz.build reading to use mozpack's *Finder classes for I/O.
The use of a FileFinder bound to / is sub-optimal. We should ideally
be creating a finder bound to topsrcdir. However, doing this would
require refactoring a lot of path handling in the reader, as that code
makes many assumptions that paths are absolute. This would be excellent
follow-up work.
While I was here, I cleaned up some linter warnings for unused imports.
On my machine, this commit results in a slight slowdown of moz.build
reading. Before, `mach build-backend` was consistently reporting 1.99s
for reading 2,572 moz.build files. After, it is consistently reporting
2.07s, an increase of 4%. This is likely due to a) function call
overhead b) the cost of instantiating a few thousand File instances
c) FileFinder performing an os.path.exists() before returning File
instances. I believe the regression is tolerable.
1a470efc9fc2b3d76831f683dc2eae1c143628c1: Bug 1168607 - Add a read() method to File; r=glandium
Gregory Szorc <gps@mozilla.com> - Tue, 02 Jun 2015 09:37:45 -0700 - rev 247781
Push
60808 by gszorc@mozilla.com at Wed, 10 Jun 2015 01:21:12 +0000
Bug 1168607 - Add a read() method to File; r=glandium
Passing raw file handles around is a bit dangerous because it could lead
to leaking file descriptors. Add a read() method that handles the simple
case of obtaining the full contents of a File instance.
This should ideally be a method on BaseFile. But this would require
extra work and isn't needed. So we've deferred it until
bug 1170329.
187dfb251703ddce7ffbb553850efcabf3bf8774: Bug 1168607 - Add get method to finders; r=glandium
Gregory Szorc <gps@mozilla.com> - Thu, 04 Jun 2015 11:24:03 -0700 - rev 247780
Push
60808 by gszorc@mozilla.com at Wed, 10 Jun 2015 01:21:12 +0000
Bug 1168607 - Add get method to finders; r=glandium
Today, the *Finder classes are optimized for doing matching and
returning multiple results. However, sometimes only looking for a
single file is wanted.
This commit implements the "get" method on all the *Finder classes.
It returns a BaseFile or None.
FileFinder._find_file has been refactored into FileFinder.get
to avoid code duplication.
553615c0705ea3aa76fea98e3b4b14dcbabcc760: Bug 1166960 - Remove redundant call to UnlockPointer and unnecessary check before calling that function. r=smaug
Xidorn Quan <quanxunzhen@gmail.com> - Wed, 10 Jun 2015 13:14:57 +1200 - rev 247779
Push
60807 by xquan@mozilla.com at Wed, 10 Jun 2015 01:15:25 +0000
Bug 1166960 - Remove redundant call to UnlockPointer and unnecessary check before calling that function. r=smaug
f41ed84e42166d6f6e1b948298f080eb12557a5b: Bug 1172664 - Use [NSApplication setPresentationOptions:] instead of SetSystemUIMode for hide os chrome. r=smichaud
Xidorn Quan <quanxunzhen@gmail.com> - Wed, 10 Jun 2015 13:13:49 +1200 - rev 247778
Push
60806 by xquan@mozilla.com at Wed, 10 Jun 2015 01:14:13 +0000
Bug 1172664 - Use [NSApplication setPresentationOptions:] instead of SetSystemUIMode for hide os chrome. r=smichaud
2902d065f84ad8c771ebedcf9649b946c2488eaf: Bug 1171328 - Convert nsTableFrame::GetChildAreaOffset() and its friends to use LogicalMargin. r=dholbert
Xidorn Quan <quanxunzhen@gmail.com> - Wed, 10 Jun 2015 13:13:49 +1200 - rev 247777
Push
60806 by xquan@mozilla.com at Wed, 10 Jun 2015 01:14:13 +0000
Bug 1171328 - Convert nsTableFrame::GetChildAreaOffset() and its friends to use LogicalMargin. r=dholbert
17c8c58041f4645584ead0c2170a21a2b4a3b698: Bug 1172138 - Call PR_LogInit before profiler_init. r=froydnj
Eric Rahm <erahm@mozilla.com> - Tue, 09 Jun 2015 17:44:46 -0700 - rev 247776
Push
60805 by erahm@mozilla.com at Wed, 10 Jun 2015 00:46:00 +0000
Bug 1172138 - Call PR_LogInit before profiler_init. r=froydnj
ec493d9f59965561d949bc0ab95712317829df37: Bug 1149670 - Add a mach command to find tests in specified directories and prepare a commit to push them to try.;r=ahal
Chris Manchester <cmanchester@mozilla.com> - Thu, 28 May 2015 15:57:21 -0700 - rev 247775
Push
60804 by cmanchester@mozilla.com at Wed, 10 Jun 2015 00:37:08 +0000
Bug 1149670 - Add a mach command to find tests in specified directories and prepare a commit to push them to try.;r=ahal
f9473f4529e42d2aecdb7b20a1e2185e6d78c6db: Bug 1173026 - Fix typo in path to taskcluster build definition.;r=mrrrgn
Chris Manchester <cmanchester@mozilla.com> - Tue, 09 Jun 2015 17:37:02 -0700 - rev 247774
Push
60804 by cmanchester@mozilla.com at Wed, 10 Jun 2015 00:37:08 +0000
Bug 1173026 - Fix typo in path to taskcluster build definition.;r=mrrrgn
3171a5626b6499784f0e57ab275b12cc9524cdba: Bug 1172800 - Create actual functions to execute moz.build templates. r=gps
Mike Hommey <mh+mozilla@glandium.org> - Thu, 04 Jun 2015 16:04:34 +0900 - rev 247773
Push
60803 by mh@glandium.org at Wed, 10 Jun 2015 00:33:38 +0000
Bug 1172800 - Create actual functions to execute moz.build templates. r=gps
The current mode of execution of templates doesn't allow them to more advanced
control flow, like returning early, returning or yielding values, because that
mode of execution is equivalent to running the code at the top level of a .py
file.
Making the templates executed through a function call, although trickier,
allows those control flows, which will be useful for template as context
managers.
e8d4ce4d30c0498befccfc388f0974f48a77b416: Bug 1172800 - Avoid using inspect.getsourcelines() and inspect.getfile(). r=gps
Mike Hommey <mh+mozilla@glandium.org> - Tue, 09 Jun 2015 15:18:39 +0900 - rev 247772
Push
60803 by mh@glandium.org at Wed, 10 Jun 2015 00:33:38 +0000
Bug 1172800 - Avoid using inspect.getsourcelines() and inspect.getfile(). r=gps
inspect.getsourcelines() and inspect.getfile() involve I/O out of our control.
Our use of those functions, however, doesn't require all their smarts. In fact,
we only use them on function objects, for which we can just do the work
ourselves without involving inspect functions that trigger I/O.
d7067d8099ff55d967492c3ac7a93c6765357144: Bug 1172800 - Move moz.build template handling in a separate class. r=gps
Mike Hommey <mh+mozilla@glandium.org> - Wed, 06 May 2015 11:45:24 +0900 - rev 247771
Push
60803 by mh@glandium.org at Wed, 10 Jun 2015 00:33:38 +0000
Bug 1172800 - Move moz.build template handling in a separate class. r=gps
This will make subsequent refactorings a bit more intelligible.
3e85b47428a9056696549d0721269f638b4a3f47: Bug 1172800 - Fixup after bug 991983. r=gps
Mike Hommey <mh+mozilla@glandium.org> - Thu, 04 Jun 2015 17:24:13 +0900 - rev 247770
Push
60803 by mh@glandium.org at Wed, 10 Jun 2015 00:33:38 +0000
Bug 1172800 - Fixup after
bug 991983. r=gps
632d018e4f261e155b9aeae006095c8c64aa9c4b: Bug 985857 - Automatically log mach output and add a command to display it. r=gps
Mike Hommey <mh+mozilla@glandium.org> - Fri, 05 Jun 2015 13:59:05 +0900 - rev 247769
Push
60803 by mh@glandium.org at Wed, 10 Jun 2015 00:33:38 +0000
Bug 985857 - Automatically log mach output and add a command to display it. r=gps
87b7bc3f561adf3cf66fa3d293507abad3666f7b: Bug 968520 - Add mozilla::fallible to more FallibleTArray::InsertElementsAt calls. r=froydnj
Birunthan Mohanathas <birunthan@mohanathas.com> - Tue, 09 Jun 2015 17:27:35 -0700 - rev 247768
Push
60802 by birunthan@mohanathas.com at Wed, 10 Jun 2015 00:28:02 +0000
Bug 968520 - Add mozilla::fallible to more FallibleTArray::InsertElementsAt calls. r=froydnj
31e36b1649741834a9775b8e2fca02164f002145: Bug 968520 - Add more fallible variants of nsTArray::InsertElementsAt. r=froydnj
Birunthan Mohanathas <birunthan@mohanathas.com> - Tue, 09 Jun 2015 17:27:31 -0700 - rev 247767
Push
60802 by birunthan@mohanathas.com at Wed, 10 Jun 2015 00:28:02 +0000
Bug 968520 - Add more fallible variants of nsTArray::InsertElementsAt. r=froydnj
ab220fda6c8a63ee011e8a656aec62afe6a8caeb: Bug 968520 - Add mozilla::fallible to FallibleTArray::InsertElementSorted calls. r=froydnj
Birunthan Mohanathas <birunthan@mohanathas.com> - Mon, 08 Jun 2015 13:40:00 -0700 - rev 247766
Push
60802 by birunthan@mohanathas.com at Wed, 10 Jun 2015 00:28:02 +0000
Bug 968520 - Add mozilla::fallible to FallibleTArray::InsertElementSorted calls. r=froydnj