Page MenuHomePhabricator

indygreg (Gregory Szorc)
User

Projects

User Details

User Since
Jul 1 2017, 5:02 PM (127 w, 5 d)

Recent Activity

Tue, Dec 10

indygreg closed D7578: rust: run rustfmt.
Tue, Dec 10, 10:47 AM
indygreg closed D7571: automation: use latest Windows AMI as base.
Tue, Dec 10, 10:45 AM
indygreg closed D7579: tests: add test for Rust formatting.
Tue, Dec 10, 10:45 AM
indygreg committed rHG3d53f9cc73ab: automation: use latest Windows AMI as base.
automation: use latest Windows AMI as base
Tue, Dec 10, 10:45 AM
indygreg committed rHGe8a3bbffdc7d: tests: add test for Rust formatting.
tests: add test for Rust formatting
Tue, Dec 10, 10:44 AM
indygreg committed rHGce088b38f92b: rust: run rustfmt.
rust: run rustfmt
Tue, Dec 10, 10:44 AM

Sat, Dec 7

indygreg updated the summary of D7576: hg-core: add configparser to library.
Sat, Dec 7, 10:04 PM
indygreg updated the summary of D7575: hg-core: vendor Facebook's configparser crate.
Sat, Dec 7, 10:04 PM
indygreg retitled D7582: hg-core: run rustfmt on configparser from rust-configparser: run rustfmt to hg-core: run rustfmt on configparser.
Sat, Dec 7, 10:04 PM
indygreg added a comment to D7581: rust-configparser: regenerate parser.rs.

The autogenerated parser.rs and its Python script to generate it have been removed in the latest version of this series.

Sat, Dec 7, 10:04 PM
indygreg retitled D7577: hg-core: implement Mercurial's config file discovery logic from rust-configparser: implement Mercurial's config file discovery logic to hg-core: implement Mercurial's config file discovery logic.
Sat, Dec 7, 10:03 PM
indygreg added a comment to D7575: hg-core: vendor Facebook's configparser crate.

Thank you for the feedback, @quark! You enlightened me to a few issues I missed during my very quick perusal.

Sat, Dec 7, 6:10 PM
indygreg created D7582: hg-core: run rustfmt on configparser.
Sat, Dec 7, 5:58 PM
indygreg updated the diff for D7577: hg-core: implement Mercurial's config file discovery logic.
Sat, Dec 7, 5:58 PM
indygreg updated the summary of D7576: hg-core: add configparser to library.
Sat, Dec 7, 5:58 PM
indygreg created D7581: rust-configparser: regenerate parser.rs.
Sat, Dec 7, 5:57 PM
indygreg created D7580: hg-core: rustfmt path.rs.
Sat, Dec 7, 5:56 PM
indygreg created D7578: rust: run rustfmt.
Sat, Dec 7, 4:12 PM
indygreg created D7579: tests: add test for Rust formatting.
Sat, Dec 7, 4:12 PM
indygreg created D7575: hg-core: vendor Facebook's configparser crate.
Sat, Dec 7, 3:19 PM
indygreg created D7576: hg-core: add configparser to library.
Sat, Dec 7, 3:19 PM
indygreg created D7577: hg-core: implement Mercurial's config file discovery logic.
Sat, Dec 7, 3:19 PM
indygreg created D7574: hg-core: add utils::path to project.
Sat, Dec 7, 3:18 PM
indygreg created D7573: hg-core: vendor Facebook's path utils module.
Sat, Dec 7, 3:17 PM

Fri, Dec 6

indygreg created D7571: automation: use latest Windows AMI as base.
Fri, Dec 6, 11:12 PM
D7568: fuzz: clean up some repetition on building parsers.so fuzzers is now accepted and ready to land.
Fri, Dec 6, 11:02 PM
D7567: fuzz: remove legacy setup for running fuzzers outside oss-fuzz is now accepted and ready to land.
Fri, Dec 6, 11:01 PM
D7566: tests: finally fix up test-fuzz-targets.t is now accepted and ready to land.
Fri, Dec 6, 11:01 PM
D7565: fuzz: make standalone_fuzz_target_runner call LLVMFuzzerInitialize is now accepted and ready to land.
Fri, Dec 6, 10:59 PM
D7564: fuzz: use a more standard approach to allow local builds of fuzzers is now accepted and ready to land.
Fri, Dec 6, 10:59 PM
D7563: fuzz: use a variable to allow specifying python-config to use is now accepted and ready to land.
Fri, Dec 6, 10:57 PM
D7562: fuzz: suppress deprecated-register warnings in our compile is now accepted and ready to land.
Fri, Dec 6, 10:57 PM
D7561: fuzz: follow modern guidelines and use LIB_FUZZING_ENGINE is now accepted and ready to land.
Fri, Dec 6, 10:57 PM
D7560: fuzz: always define LLVMFuzzerInitialize() even if we don't need it is now accepted and ready to land.
Fri, Dec 6, 10:56 PM
D7559: fuzz: remove debug prints from revlog_corpus.py is now accepted and ready to land.
Fri, Dec 6, 10:56 PM
D7558: fuzz: fix an unused result on getcwd() in pyutil is now accepted and ready to land.
Fri, Dec 6, 10:56 PM

Sat, Nov 23

D7512: exchange: guard against method invocation on `b2caps=None` args is now accepted and ready to land.
Sat, Nov 23, 8:00 PM
D7511: exchange: eliminate some bytes.format() calls is now accepted and ready to land.
Sat, Nov 23, 7:59 PM
D7510: windows: suppress pytype warnings for Windows imports and functions is now accepted and ready to land.
Sat, Nov 23, 7:59 PM
indygreg added a comment to D7510: windows: suppress pytype warnings for Windows imports and functions.

I'm not sure if there are plans to vendor *.pyi files. Maybe that could be used to backfill platform specific modules instead of doing this. But for now is seems better to get the error count and blacklist length reduced.

Sat, Nov 23, 7:58 PM
D7491: changectx: mark the parents of the working copy as non filtered is now accepted and ready to land.
Sat, Nov 23, 7:55 PM
D7490: repoview: add an explicit set of all filter that show the wc parents is now accepted and ready to land.
Sat, Nov 23, 7:53 PM
D7488: localrepo: introduce a `_quick_access_changeid` property is now accepted and ready to land.
Sat, Nov 23, 7:53 PM
D7487: changectx: use unfiltered changelog to access parents of unfiltered revs is now accepted and ready to land.
Sat, Nov 23, 7:50 PM
D7486: locarepo: also fastpath `nullid` lookup in __getitem__ is now accepted and ready to land.
Sat, Nov 23, 7:48 PM
D7514: repoview: add more tests to track operation not supposed to trigger filtering is now accepted and ready to land.
Sat, Nov 23, 7:47 PM
D7484: localrepo: mark nullrev has never filtered is now accepted and ready to land.
Sat, Nov 23, 7:45 PM
D7483: changectx: add a "maybe filtered" filtered attribute is now accepted and ready to land.

I'm satisfied with the discussion and will proceed with reviewing this series.

Sat, Nov 23, 7:44 PM

Fri, Nov 22

indygreg added inline comments to D7483: changectx: add a "maybe filtered" filtered attribute.
Fri, Nov 22, 11:04 PM
D7482: repoview: add a test that access actual changeset data of `null` is now accepted and ready to land.
Fri, Nov 22, 10:55 PM
D7481: localrepo: recognize trivial "null" queries in `anyrev` is now accepted and ready to land.
Fri, Nov 22, 10:55 PM
D7480: localrepo: also fastpath `nullrev` in __getitem__ is now accepted and ready to land.
Fri, Nov 22, 10:55 PM
D7479: repoview: add a test to track operation not supposed to trigger filtering is now accepted and ready to land.
Fri, Nov 22, 10:54 PM
D7478: repoview: display stack trace along side the debug message is now accepted and ready to land.
Fri, Nov 22, 10:54 PM
D7477: util: add an optional `prefix` argument to debugstacktrace is now accepted and ready to land.
Fri, Nov 22, 10:53 PM
D7476: repoview: add a 'devel.debug.repo-filter' option is now accepted and ready to land.
Fri, Nov 22, 10:52 PM
D7475: localrepo: extract handling of some special value in __getitem__ is now accepted and ready to land.
Fri, Nov 22, 10:52 PM
D7474: localrepo: extract handling of some special value in __getitem__ is now accepted and ready to land.
Fri, Nov 22, 10:52 PM
D7473: localrepo: add some basic comment for block in __getitem__ is now accepted and ready to land.
Fri, Nov 22, 10:51 PM

Thu, Nov 21

indygreg added a comment to D7258: makefile: use Python 3 by default outside of Windows (BC).

I just uploaded a compromise patch that ignores Windows for now.

Thu, Nov 21, 11:10 PM
indygreg retitled D7258: makefile: use Python 3 by default outside of Windows (BC) from makefile: use Python 3 by default (BC) to makefile: use Python 3 by default outside of Windows (BC).
Thu, Nov 21, 11:09 PM
indygreg added a comment to D7258: makefile: use Python 3 by default outside of Windows (BC).

I seriously question whether we need a Makefile at all [on Windows]: our Makefile is just a glorified shell script and isn't doing much in terms of dependency management. I'm tempted to move the packaging targets to contrib/packaging and replace the remaining build targets with a build.py script.

Thu, Nov 21, 11:06 PM
indygreg added a comment to D7258: makefile: use Python 3 by default outside of Windows (BC).

This is ready for re-review. Please take a look @durin42.

Thu, Nov 21, 10:03 PM
indygreg updated the diff for D7258: makefile: use Python 3 by default outside of Windows (BC).
Thu, Nov 21, 10:02 PM
indygreg retitled D7258: makefile: use Python 3 by default outside of Windows (BC) from makefile: use python3 by default (BC) to makefile: use Python 3 by default (BC).
Thu, Nov 21, 10:02 PM
D7471: tests: byteify a few more things in simplestorerepo.py is now accepted and ready to land.
Thu, Nov 21, 9:50 PM
D7470: profiling: add a missing argument to the ProgrammingError constructor is now accepted and ready to land.
Thu, Nov 21, 9:50 PM
D7469: profiling: disable the import-error warning for the flamegraph module is now accepted and ready to land.
Thu, Nov 21, 9:49 PM
D7468: phases: make `allphases` a list on py3 also is now accepted and ready to land.
Thu, Nov 21, 9:49 PM
D7467: util: convert an exception to bytes when passing to Abort() is now accepted and ready to land.
Thu, Nov 21, 9:48 PM
D7466: patch: fix a str + bytes issue in an exception handler is now accepted and ready to land.

I'll put this one on stable.

Thu, Nov 21, 9:47 PM

Tue, Nov 19

D7456: scmutil: add assertions to help pytype is now accepted and ready to land.
Tue, Nov 19, 9:41 PM
D7455: revset: add an assertion to help pytype is now accepted and ready to land.
Tue, Nov 19, 9:40 PM

Mon, Nov 18

D7199: lock: fix race in lock-breaking code is now accepted and ready to land.

Thank you for tracking down this issue and for the detailed commit message!

Mon, Nov 18, 11:01 PM
D7198: lock: refactor in preparation for next commit is now accepted and ready to land.

This looks like a non-behavior-changing refactor. Thanks also for the switch to a context manager, which is more robust.

Mon, Nov 18, 10:53 PM
indygreg added a comment to D7296: pycompat: kludge around pytype being confused by __new__.

@durin42 I just queued most of the remaining patches in this series. This one still needs your attention, it appears.

Mon, Nov 18, 10:47 PM
D7410: extensions: suppress a pytype failure due to a typeshed bug is now accepted and ready to land.
Mon, Nov 18, 10:46 PM
D7409: dispatch: add some assertions to give pytype a helping hand is now accepted and ready to land.
Mon, Nov 18, 10:46 PM
D7408: extensions: hide two confusing import statements from pytype is now accepted and ready to land.

Where does hgext.__index__ come from?!

Mon, Nov 18, 10:45 PM
D7407: debugcommands: add assertions to convince pytype peer is not None is now accepted and ready to land.
Mon, Nov 18, 10:45 PM
D7385: debugcommands: suppress import errors for pytype is now accepted and ready to land.
Mon, Nov 18, 10:44 PM
D7383: state: add a pytype annotation is now accepted and ready to land.
Mon, Nov 18, 10:44 PM
D7382: logcmdutil: add a type annotation is now accepted and ready to land.
Mon, Nov 18, 10:43 PM
D7381: cmdutil: add a pytype annotation to help out some callsites is now accepted and ready to land.
Mon, Nov 18, 10:43 PM
D7374: hghave: add a check for the `xz` compression utility is now accepted and ready to land.

Regarding nested conditionals, you could do something like #if py3 xz. But then we wouldn't have test coverage of Mercurial itself generating lzma, which is built in to Python 3. So this suggestion is not appropriate here: the patch as authored is great!

Mon, Nov 18, 10:41 PM
D7454: py3: send bytes from Rust-created warning patterns is now accepted and ready to land.
Mon, Nov 18, 10:38 PM
D7453: py3: pass bytes to `configint` and `configbool` is now accepted and ready to land.
Mon, Nov 18, 10:38 PM
indygreg closed D7447: tests: verify that Python scripts are blackened.
Mon, Nov 18, 11:51 AM
indygreg closed D7446: black: blacken scripts.
Mon, Nov 18, 11:51 AM
indygreg closed D7448: tests: check for Windows line endings.
Mon, Nov 18, 11:50 AM
indygreg committed rHGf0b33e5f0cf4: tests: check for Windows line endings.
tests: check for Windows line endings
Mon, Nov 18, 11:50 AM
indygreg committed rHG2d8d4e08c493: tests: verify that Python scripts are blackened.
tests: verify that Python scripts are blackened
Mon, Nov 18, 11:50 AM
indygreg committed rHG47ef023d0165: black: blacken scripts.
black: blacken scripts
Mon, Nov 18, 11:50 AM
indygreg closed D7445: doc: don't use mutable default arguments.
Mon, Nov 18, 11:50 AM
indygreg committed rHG15cccbacd5ce: doc: don't use mutable default arguments.
doc: don't use mutable default arguments
Mon, Nov 18, 11:50 AM

Sun, Nov 17

D7452: debugextensions: gracefully handle missing __file__ attributes is now accepted and ready to land.

The failure might be due to PyOxidizer not supporting namespace packages. I'm pretty sure that isn't implemented and nobody has asked for it yet. Workaround would be to bundle the Mercurial modules in the binary.

Sun, Nov 17, 6:28 PM
D7451: debuginstall: gracefully handle missing __file__ attributes is now accepted and ready to land.

Pointing to the executable when running with PyOxidizer seems like a reasonable approach to me!

Sun, Nov 17, 6:26 PM

Sat, Nov 16

indygreg added a comment to D7444: setup: conditionalize access to `sys.dllhandle` when building extensions.

PyOxidizer doesn't set __file__ for modules imported from memory. You can work around by installing the Python standard library in an app-relative directory (like we do for the Mercurial modules in my proof-of-concept PyOxidizer patch) or you can teach Mercurial to react gracefully when __file__ isn't defined. The debuginstall use of __file__ is pretty dubious and not critical to behavior, so I highly favor making it behave better when __file__ is missing.

Sat, Nov 16, 9:09 PM
indygreg created D7449: rust: vendor pyembed crate.
Sat, Nov 16, 4:22 PM
indygreg created D7450: INCOMPLETE pyoxidizer.
Sat, Nov 16, 4:22 PM