Page MenuHomePhabricator

indygreg (Gregory Szorc)
User

Projects

User Details

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

Recent Activity

Tue, Sep 22

D9062: git: also convert timezone to int (issue6359) is now accepted and ready to land.
Tue, Sep 22, 10:21 PM
indygreg added a comment to D9059: procutil: assign stdio objects if they are None.

This patch breaks my brain because our mucking about with sys.std* is wonky. We are doing really hacky things in both procutil.py and dispatch.py, including reassigning sys.std* in dispatch.py before this patch. I'd strongly prefer to have that logic consolidated.

Tue, Sep 22, 10:21 PM
D9058: chg: fallback to original hg if stdio fds are missing is now accepted and ready to land.

This looks like a legit bug fix. And when I see patches like this, I wonder what circumstances led to its discovery :p

Tue, Sep 22, 10:10 PM
D9053: locking: remove support for inheriting locks in subprocess is now accepted and ready to land.

Wow - I had no clue this functionality existed! This functionality feels brittle and I'll gladly approve changes to simplify the locking code.

Tue, Sep 22, 10:07 PM
indygreg accepted D9041: mergedriver: delete it.
Tue, Sep 22, 10:05 PM
D8959: hg-core: define a `DebugData` `Operation` is now accepted and ready to land.
Tue, Sep 22, 10:02 PM
indygreg added a comment to D8958: hg-core: Add a limited read only `revlog` implementation.

I didn't review the tests. But this seems like a decent first implementation of a revlog reader. The Python code for revlog reading is substantially more complex. Although a lot of that complexity has to do with extracting maximum performance out of Python. I am very curious how many of those optimizations we'll need in Rust to obtain a similar level of performance! Decompression often dominates revlog read times and I suspect Rust will enable us to leverage multithreading more easily, eventually allowing us to easily surpass Python's speed.

Tue, Sep 22, 9:58 PM
D9046: tests: add test showing broken extension loading in case of share-safe is now accepted and ready to land.
Tue, Sep 22, 9:25 PM
D9045: tests: update test-share-safe to work with non-zstd versions now requires changes to proceed.
Tue, Sep 22, 9:24 PM
D8990: rust-cpython: switch logging facade from `simple_logger` to `env_logger` is now accepted and ready to land.
Tue, Sep 22, 9:23 PM

Thu, Sep 17

D9040: merge: use in-memory mergestate when using in-memory context is now accepted and ready to land.
Thu, Sep 17, 10:24 PM
D9039: mergestate: extract a base class to be shared by future memmergestate is now accepted and ready to land.
Thu, Sep 17, 10:22 PM
D9038: mergestate: extract overridable methods for making/restoring file backups is now accepted and ready to land.
Thu, Sep 17, 10:21 PM
D9037: mergestate: initialize all properties in __init__() is now accepted and ready to land.

This is so much cleaner.

Thu, Sep 17, 10:20 PM
D9036: mergestate: remove unnecessary clearing of `localctx` and `otherctx` is now accepted and ready to land.

Use of delattr is a bit wonky in the first place, as optional instance attributes feel like an anti-pattern to me. This is probably fine.

Thu, Sep 17, 10:19 PM
D9035: mergestate: move most of of reset() into start() is now accepted and ready to land.
Thu, Sep 17, 10:18 PM
D9034: mergestate: make clean() only be about creating a clean mergestate is now accepted and ready to land.
Thu, Sep 17, 10:17 PM
D9033: mergestate: split up reset() for its two use cases is now accepted and ready to land.
Thu, Sep 17, 10:16 PM
D9032: mergestate: simplify reset(), knowing that `other` and `node` go together is now accepted and ready to land.
Thu, Sep 17, 10:15 PM
D9031: mergestate: make some callers not pass pointless node argument is now accepted and ready to land.
Thu, Sep 17, 10:14 PM
D9030: py3: don't risk passing a None value to error.ManifestLookupError() is now accepted and ready to land.
Thu, Sep 17, 10:12 PM
D8983: merge: move initial handling of mergeactions near to later one is now accepted and ready to land.
Thu, Sep 17, 10:10 PM
D8968: phabricator: Pass through diffoptions now requires changes to proceed.
Thu, Sep 17, 10:09 PM
indygreg added a comment to D8673: config: add a .hg/hgrc-not-shared which won't be shared in share-safe mode.

Before approving this, I'd like to have a quick conversation about the file name and documentation.

Thu, Sep 17, 10:03 PM
D8660: upgrade: support running upgrade if repository has share-safe requirement is now accepted and ready to land.
Thu, Sep 17, 9:51 PM
D8659: config: add `--shared` flag to edit config file of shared source is now accepted and ready to land.

I may tweak the language of the user-facing messages in flight to make them slightly more readable.

Thu, Sep 17, 9:38 PM
D8656: localrepo: load the share source .hg/hgrc also in share-safe mode (API) is now accepted and ready to land.

This seems like useful functionality. However, I expect someone to complain about both the reading the extra config file and prepending its content on unshare. I'm tempted to say we should preemptively make this behavior configurable. Although I hate complexity. So let's wait until someone complains.

Thu, Sep 17, 9:37 PM
indygreg accepted D8633: share: introduce config option to store requires in .hg/store.
Thu, Sep 17, 9:13 PM
D8952: remotefilelog: acquire lock before writing requirements on clone is now accepted and ready to land.
Thu, Sep 17, 9:08 PM

Tue, Sep 15

indygreg added a comment to D9001: tags: take lock instead of wlock before writing hgtagsfnodes1 cache.

This change may break compatibility with older clients. As written, if an old client and modern client write the tags cache file, they will obtain different locks and race to write the tags cache. If we want backwards compatibility, we need to take the store lock in addition to the working directory lock.

Tue, Sep 15, 8:47 PM

Aug 25 2020

indygreg added a comment to D8633: share: introduce config option to store requires in .hg/store.

I was going to push this but there's a test failure:

Aug 25 2020, 9:48 PM
indygreg accepted D8914: helptext: document exp-sharesafe in internals/requirements.txt.
Aug 25 2020, 9:34 PM
indygreg added a comment to D8633: share: introduce config option to store requires in .hg/store.

I'm approving this as an experimental quality feature. I think the technical direction is sound and the splitting of requirements corrects some long-standing soundness issues and will lead to a better end-user experience for shared repositories.

Aug 25 2020, 9:33 PM
D8913: scmutil: introduce filterrequirements() to split reqs into wc and store ones is now accepted and ready to land.
Aug 25 2020, 9:12 PM
indygreg added a comment to D8914: helptext: document exp-sharesafe in internals/requirements.txt.

The target audience of the internals documentation is Mercurial developers and anyone else who wants to know how Mercurial works. End users should not generally care about its existence.

Aug 25 2020, 9:11 PM

Aug 24 2020

indygreg added a comment to D8914: helptext: document exp-sharesafe in internals/requirements.txt.

This should not be documented as long as it experimental (and the behavior is not freezed). The documentation should come when we rename the requirement name to its final name.

Aug 24 2020, 8:45 PM
D8913: scmutil: introduce filterrequirements() to split reqs into wc and store ones now requires changes to proceed.
Aug 24 2020, 8:43 PM

Aug 22 2020

D8926: requirements: introduce constants for `shared` and `relshared` requirements is now accepted and ready to land.
Aug 22 2020, 6:51 PM
indygreg accepted D8923: mergestate: replace `addmergedother()` with generic `addcommitinfo()` (API).
Aug 22 2020, 6:50 PM
D8922: merge: introduce `addcommitinfo()` on mergeresult object is now accepted and ready to land.
Aug 22 2020, 6:45 PM
indygreg accepted D8921: merge: use collections.defaultdict() for mergeresult.commitinfo.
Aug 22 2020, 6:44 PM
D8920: mergestate: use _stateextras instead of merge records for commit related info is now accepted and ready to land.
Aug 22 2020, 6:43 PM
D8919: mergestate: use collections.defaultdict(dict) for _stateextras is now accepted and ready to land.
Aug 22 2020, 6:41 PM
D8936: hgweb: minimize scope of a try-block in staticfile() is now accepted and ready to land.
Aug 22 2020, 6:39 PM
D8935: hgweb: ignore web.templates config when guessing mime type for static content is now accepted and ready to land.
Aug 22 2020, 6:38 PM
D8934: hgweb: let staticfile() look up path from default location unless provided is now accepted and ready to land.
Aug 22 2020, 6:38 PM
D8933: hgweb: handle None from templatedir() equally bad in webcommands.py is now accepted and ready to land.
Aug 22 2020, 6:37 PM

Aug 10 2020

indygreg added inline comments to D8919: mergestate: use collections.defaultdict(dict) for _stateextras.
Aug 10 2020, 9:06 PM
D8924: requirements: introduce a set of working directory specific requirements is now accepted and ready to land.
Aug 10 2020, 9:00 PM
D8918: localrepo: move requirements constant to requirements module is now accepted and ready to land.
Aug 10 2020, 8:59 PM
D8917: requirements: introduce new requirements related module is now accepted and ready to land.
Aug 10 2020, 8:58 PM
D8916: repository: introduce constant for treemanifest requirement and use it is now accepted and ready to land.
Aug 10 2020, 8:53 PM

Aug 8 2020

D8859: keepalive: Do not append _rbuf if _raw_readinto exists (issue6356) is now accepted and ready to land.

Good work tracking down this obscure failure!

Aug 8 2020, 5:01 PM
indygreg closed D7221: hghave: fix bytes/string issue on Python 3.
Aug 8 2020, 4:56 PM
indygreg added a reviewer for D7221: hghave: fix bytes/string issue on Python 3: durin42.
Aug 8 2020, 4:56 PM
indygreg added a comment to D7221: hghave: fix bytes/string issue on Python 3.

A similar patch already landed. I'm going to commandeer and close.

Aug 8 2020, 4:56 PM
D8782: tests: make flag parsing test more future safe is now accepted and ready to land.
Aug 8 2020, 4:54 PM
indygreg added a comment to D8840: rename: add support for --at-rev, which marks as copy and removes the source.

I'm not sure what the README.rst rename was doing in the diff. So I dropped it in-flight.

Aug 8 2020, 4:52 PM
D8840: rename: add support for --at-rev, which marks as copy and removes the source is now accepted and ready to land.
Aug 8 2020, 4:51 PM
D8813: tests: make test-install.t work on debian systems is now accepted and ready to land.

Debian's perturbations to how Python is packaged continue to confound me. There's aren't enough Picard facepalm memes to express my feelings on the matter.

Aug 8 2020, 4:32 PM
indygreg added inline comments to D8872: rhg: make output of `files` relative to the current directory and the root.
Aug 8 2020, 4:19 PM
D8871: rhg: handle broken pipe error for stderr is now accepted and ready to land.
Aug 8 2020, 4:12 PM
D8870: rhg: extract function handle_stdout_error is now accepted and ready to land.
Aug 8 2020, 4:12 PM
D8869: rhg: add a limited `rhg files` subcommand is now accepted and ready to land.
Aug 8 2020, 4:11 PM
D8868: rhg: add a `Files` `Command` to prepare the `rhg files` subcommand is now accepted and ready to land.
Aug 8 2020, 4:09 PM
D8623: rebase: add a config knob for forcing in-memory rebasing now requires changes to proceed.
Aug 8 2020, 4:05 PM
D8562: shelve: get mergestate via context now requires changes to proceed.
Aug 8 2020, 4:05 PM
D8561: hg: get mergestate via context now requires changes to proceed.
Aug 8 2020, 4:05 PM
D8559: revset: get mergestate via context now requires changes to proceed.
Aug 8 2020, 4:05 PM
D8560: templatekw: get mergestate via context now requires changes to proceed.
Aug 8 2020, 4:05 PM
D8558: fileset: get mergestate via context now requires changes to proceed.
Aug 8 2020, 4:04 PM
D8557: debugcommands: get mergestate via context now requires changes to proceed.
Aug 8 2020, 4:04 PM
D8555: cmdutil: get mergestate via context now requires changes to proceed.
Aug 8 2020, 4:04 PM
D8556: commands: get mergestate via context now requires changes to proceed.
Aug 8 2020, 4:04 PM
D8554: strip: get mergestate via context now requires changes to proceed.
Aug 8 2020, 4:04 PM
D8553: histedit: use context to load mergestate instead of loading it directly now requires changes to proceed.
Aug 8 2020, 4:04 PM
D8552: fix: use context to fetch mergestate instead of loading it directly now requires changes to proceed.
Aug 8 2020, 4:04 PM
D8867: rhg: simplify `FindRootError` handling is now accepted and ready to land.
Aug 8 2020, 4:03 PM
D8866: rhg: add buffered stdout writing possibility is now accepted and ready to land.
Aug 8 2020, 4:02 PM
D8865: rhg: ask the error message from `CommandError` is now accepted and ready to land.
Aug 8 2020, 3:59 PM
D8864: rhg: Do not return error when when we really mean ok in commands is now accepted and ready to land.
Aug 8 2020, 3:54 PM
D8863: hg-core: define a `ListTrackedFiles` `Operation` is now accepted and ready to land.
Aug 8 2020, 3:50 PM
D8862: hg-core: remove the `Operation` trait is now accepted and ready to land.
Aug 8 2020, 3:44 PM
D8861: hg-core: make parse_dirstate return references rather than update hashmaps is now accepted and ready to land.
Aug 8 2020, 3:43 PM
indygreg added a comment to D8552: fix: use context to fetch mergestate instead of loading it directly.

@durin42 what's the state of this series? Can the bottom part of it be reviewed or do you plan to revisit the entire series? Perhaps a rebase would be in order, just in case?

Aug 8 2020, 3:05 PM
D8913: scmutil: introduce filterrequirements() to split reqs into wc and store ones is now accepted and ready to land.

I'm going to approve but will hold off landing until the following patch solidifies a bit.

Aug 8 2020, 1:17 PM
indygreg added inline comments to D8908: store: refactor space delimited list to proper tuple.
Aug 8 2020, 1:13 PM
D8912: repository: introduce constant for internal phase repo requirement and use it is now accepted and ready to land.
Aug 8 2020, 1:07 PM
D8911: repository: introduce constant for sparse repo requirement and use it is now accepted and ready to land.
Aug 8 2020, 1:06 PM
D8910: localrepo: refactor `.hg/requires` reading logic in separate function is now accepted and ready to land.
Aug 8 2020, 1:04 PM
D8909: localrepo: refactor logic to calculate sharedvfs in separate fn is now accepted and ready to land.
Aug 8 2020, 1:03 PM
D8908: store: refactor space delimited list to proper tuple is now accepted and ready to land.
Aug 8 2020, 1:01 PM
D8915: makefile: stop setting unused HGEXTDIR variable during osx build is now accepted and ready to land.
Aug 8 2020, 1:00 PM
indygreg added a comment to D8887: mergeresult: add `files()` and use it.

FWIW I encountered the following test failure when running this series locally:

Aug 8 2020, 12:51 PM
D8904: merge: drop commitinfo argument to applyupdates (API) is now accepted and ready to land.
Aug 8 2020, 12:37 PM
D8903: merge: remove emptyactions() and use collections.defaultdict(list) instead is now accepted and ready to land.

I guess we lose some typing as part of this change. But that only guards against unknown actions, which I suppose shouldn't happen.

Aug 8 2020, 12:36 PM
D8889: merge: pass mergeresult obj in _forgetremoved() (API) is now accepted and ready to land.
Aug 8 2020, 12:34 PM
D8888: mergeresult: introduce filemap() which yields filename based mapping is now accepted and ready to land.
Aug 8 2020, 12:34 PM
D8887: mergeresult: add `files()` and use it is now accepted and ready to land.
Aug 8 2020, 12:33 PM
D8886: mergeresult: introduce getfile() and use it where required is now accepted and ready to land.
Aug 8 2020, 12:30 PM