Page MenuHomePhabricator

kevincox (Kevin Cox)
User

Projects

User does not belong to any projects.

User Details

User Since
Jan 11 2018, 4:59 AM (115 w, 4 d)

kevincox@kevincox.ca

Recent Activity

Feb 24 2020

kevincox accepted D8098: rust-nodemap: a method for full invalidation.
Feb 24 2020, 5:56 AM
kevincox accepted D8097: rust-nodemap: accounting for dead blocks.
Feb 24 2020, 5:45 AM
kevincox accepted D7796: rust-nodemap: input/output primitives.
Feb 24 2020, 5:44 AM

Feb 18 2020

kevincox added inline comments to D7797: rust-nodemap: pure Rust example.
Feb 18 2020, 9:47 AM

Feb 14 2020

kevincox added inline comments to D7796: rust-nodemap: input/output primitives.
Feb 14 2020, 12:34 PM
kevincox added inline comments to D8110: rust-dirstatemap: cache non normal and other parent set.
Feb 14 2020, 7:37 AM
kevincox accepted D7797: rust-nodemap: pure Rust example.
Feb 14 2020, 6:55 AM
kevincox added inline comments to D7796: rust-nodemap: input/output primitives.
Feb 14 2020, 6:49 AM
kevincox added inline comments to D8110: rust-dirstatemap: cache non normal and other parent set.
Feb 14 2020, 4:39 AM

Feb 13 2020

kevincox added inline comments to D8110: rust-dirstatemap: cache non normal and other parent set.
Feb 13 2020, 8:15 AM

Feb 12 2020

kevincox added inline comments to D7929: rust-status: add bare `hg status` support in hg-core.
Feb 12 2020, 11:24 AM
kevincox added inline comments to D7927: rust-status: add util for listing a directory.
Feb 12 2020, 11:02 AM
kevincox accepted D7797: rust-nodemap: pure Rust example.
Feb 12 2020, 10:54 AM
D7929: rust-status: add bare `hg status` support in hg-core now requires changes to proceed.
Feb 12 2020, 5:27 AM
kevincox accepted D7927: rust-status: add util for listing a directory.
Feb 12 2020, 5:09 AM
kevincox added inline comments to D8048: rust-dirstatemap: cache non normal and other parent set.
Feb 12 2020, 5:01 AM

Feb 10 2020

kevincox accepted D8049: rust-dirstatemap: add `NonNormalEntries` class.
Feb 10 2020, 1:17 PM
kevincox accepted D8087: rust-status: rename `StatusResult` to `DirstateStatus`.
Feb 10 2020, 1:16 PM
kevincox accepted D7909: rust-filepatterns: add support for `include` and `subinclude` patterns.
Feb 10 2020, 1:14 PM
kevincox accepted D7930: rust-status: update rust-cpython bridge to account for the changes in core.
Feb 10 2020, 10:58 AM
kevincox added inline comments to D8086: rust-status: refactor options into a `StatusOptions` struct.
Feb 10 2020, 10:56 AM
kevincox accepted D8088: rust-status: add missing variants to `Dispatch` enum.
Feb 10 2020, 10:54 AM
kevincox accepted D7925: rust-matchers: add `IgnoreMatcher`.
Feb 10 2020, 10:43 AM
kevincox accepted D7924: rust-matchers: add `build_regex_match` function.
Feb 10 2020, 10:39 AM
kevincox added a comment to D7923: rust-matchers: add functions to get roots, dirs and parents from patterns.

Thanks for the heads up. I'll try to dedup them.

Feb 10 2020, 10:31 AM
kevincox accepted D7923: rust-matchers: add functions to get roots, dirs and parents from patterns.
Feb 10 2020, 10:22 AM

Jan 24 2020

D7921: rust-dirs-multiset: improve temporary error message now requires changes to proceed.
Jan 24 2020, 4:59 AM

Jan 17 2020

D7923: rust-matchers: add functions to get roots, dirs and parents from patterns now requires changes to proceed.
Jan 17 2020, 11:05 AM
kevincox accepted D7910: rust-re2: add wrapper for calling Re2 from Rust.
Jan 17 2020, 10:08 AM
kevincox accepted D7867: rust-hg-path: add useful methods to `HgPath`.
Jan 17 2020, 4:44 AM

Jan 16 2020

kevincox added inline comments to D7908: rust-filepatterns: improve API and robustness for pattern files parsing.
Jan 16 2020, 3:35 PM
kevincox added inline comments to D7909: rust-filepatterns: add support for `include` and `subinclude` patterns.
Jan 16 2020, 2:40 PM
kevincox accepted D7908: rust-filepatterns: improve API and robustness for pattern files parsing.
Jan 16 2020, 2:15 PM
kevincox added a comment to D7910: rust-re2: add wrapper for calling Re2 from Rust.

While I think the rust regex crate is heavily inspired by RE2 and uses a fairly compatible syntax I don't think there is a goal to be 100% compatible and I would be surprised if there weren't any differences. What I am trying to say is that if we are going to change engines we may as well change to regex. If we are using RE2 for backwards compatibility then this change makes sense.

Jan 16 2020, 11:06 AM
D7867: rust-hg-path: add useful methods to `HgPath` now requires changes to proceed.
Jan 16 2020, 10:51 AM
D7910: rust-re2: add wrapper for calling Re2 from Rust now requires changes to proceed.
Jan 16 2020, 10:42 AM
kevincox added a comment to D7910: rust-re2: add wrapper for calling Re2 from Rust.

Does mercurial currently use RE2? If not then can you explain why we don't just use the rust regex crate?

Jan 16 2020, 10:41 AM
kevincox added a comment to D7796: rust-nodemap: input/output primitives.

Maybe what we should do is keep the test I proposed, but change the definition of BLOCK_SIZE to be based upon the number of contained i32 instead of size_of.

Jan 16 2020, 10:35 AM
kevincox added a comment to D7796: rust-nodemap: input/output primitives.

Ah yes. So my test would be ineffective.

Jan 16 2020, 10:34 AM
D7909: rust-filepatterns: add support for `include` and `subinclude` patterns now requires changes to proceed.
Jan 16 2020, 10:30 AM
kevincox added inline comments to D7908: rust-filepatterns: improve API and robustness for pattern files parsing.
Jan 16 2020, 10:18 AM
kevincox accepted D7869: rust-dirs-multiset: add `DirsChildrenMultiset`.
Jan 16 2020, 7:46 AM
kevincox added a comment to D7870: rust-utils: add `Escaped` trait.

I think it's better. Maybe still a little vauge but I'll let subject experts make that decision.

Jan 16 2020, 7:44 AM
kevincox accepted D7819: rust-nodemap: core implementation for shortest.
Jan 16 2020, 7:24 AM
kevincox accepted D7798: rust-nodemap: special case for prefixes of NULL_NODE.
Jan 16 2020, 7:16 AM
kevincox added inline comments to D7796: rust-nodemap: input/output primitives.
Jan 16 2020, 7:10 AM
D7796: rust-nodemap: input/output primitives now requires changes to proceed.
Jan 16 2020, 6:24 AM
kevincox accepted D7795: rust-nodemap: insert method.
Jan 16 2020, 6:02 AM
kevincox accepted D7788: rust-node: binary Node ID and conversion utilities.
Jan 16 2020, 5:50 AM
D7794: rust-nodemap: generic NodeTreeVisitor now requires changes to proceed.
Jan 16 2020, 5:16 AM
kevincox accepted D7793: rust-nodemap: mutable NodeTree data structure.
Jan 16 2020, 5:15 AM
kevincox accepted D7792: rust-nodemap: abstracting the indexing.
Jan 16 2020, 5:10 AM
kevincox accepted D7791: rust-nodemap: NodeMap trait with simplest implementation.
Jan 16 2020, 5:08 AM
kevincox accepted D7867: rust-hg-path: add useful methods to `HgPath`.
Jan 16 2020, 5:00 AM
kevincox added a comment to D7864: rust-utils: add Rust implementation of Python's "os.path.splitdrive".

One last note is why not just put this in HgPath?

Jan 16 2020, 4:59 AM

Jan 15 2020

kevincox added inline comments to D7864: rust-utils: add Rust implementation of Python's "os.path.splitdrive".
Jan 15 2020, 3:07 PM
kevincox accepted D7895: rust-core: fix typo in comment.
Jan 15 2020, 1:01 PM
kevincox accepted D7871: rust-utils: add util for canonical path.
Jan 15 2020, 11:09 AM
kevincox accepted D7866: rust-pathauditor: add Rust implementation of the `pathauditor`.
Jan 15 2020, 11:07 AM
kevincox accepted D7868: rust-filepatterns: remove bridge code for filepatterns-related functions.
Jan 15 2020, 10:57 AM
kevincox added a comment to D7870: rust-utils: add `Escaped` trait.

I'm not convinced PrettyPrint is the best name. I might call it something more to do with escaping instead of "pretty". However I can't think of anything great.

Jan 15 2020, 10:16 AM
kevincox accepted D7869: rust-dirs-multiset: add `DirsChildrenMultiset`.
Jan 15 2020, 10:06 AM
kevincox accepted D7867: rust-hg-path: add useful methods to `HgPath`.
Jan 15 2020, 9:59 AM
D7864: rust-utils: add Rust implementation of Python's "os.path.splitdrive" now requires changes to proceed.
Jan 15 2020, 9:56 AM
kevincox accepted D7787: rust-nodemap: building blocks for nodetree structures.
Jan 15 2020, 9:02 AM

Dec 11 2019

kevincox accepted D7604: rust-hg-path: implement more readable custom Debug for HgPath{,Buf}.
Dec 11 2019, 12:57 PM
kevincox accepted D7530: rust-dirstate-status: update bridge for new rust version of `dirstate.status`.
Dec 11 2019, 4:09 AM

Dec 9 2019

kevincox accepted D7577: hg-core: implement Mercurial's config file discovery logic.
Dec 9 2019, 7:23 AM
kevincox accepted D7580: hg-core: rustfmt path.rs.
Dec 9 2019, 7:17 AM
kevincox accepted D7578: rust: run rustfmt.
Dec 9 2019, 7:17 AM

Dec 2 2019

kevincox accepted D7523: rust-hg-path: implement `Display` for `HgPath` and `HgPathBuf`.
Dec 2 2019, 10:24 AM
kevincox accepted D7529: rust-dirstate-status: add `walk_explicit` implementation, use `Matcher` trait.
Dec 2 2019, 10:16 AM
kevincox accepted D7526: rust-hg-path: add method to get part of a path relative to a prefix.
Dec 2 2019, 10:15 AM
D7529: rust-dirstate-status: add `walk_explicit` implementation, use `Matcher` trait now requires changes to proceed.
Dec 2 2019, 8:26 AM
kevincox accepted D7527: rust-matchers: add doctests for `AlwaysMatcher`.
Dec 2 2019, 8:18 AM
D7526: rust-hg-path: add method to get part of a path relative to a prefix now requires changes to proceed.
Dec 2 2019, 8:17 AM
kevincox accepted D7525: rust-matchers: improve `Matcher` trait ergonomics.
Dec 2 2019, 8:09 AM
kevincox accepted D7524: rust-dirs-multiset: use `AsRef` instead of concrete types when possible.
Dec 2 2019, 8:06 AM
D7523: rust-hg-path: implement `Display` for `HgPath` and `HgPathBuf` now requires changes to proceed.
Dec 2 2019, 8:04 AM
kevincox accepted D7522: rust-dirs: handle forgotten `Result`s.
Dec 2 2019, 7:59 AM

Nov 7 2019

kevincox accepted D7301: rust: introduce SIZE_FROM_OTHER_PARENT constant.
Nov 7 2019, 1:24 PM
kevincox accepted D7300: rust-status: refactor dispatch case for normal files.
Nov 7 2019, 1:24 PM
kevincox accepted D7299: rust-status: return a ParallelIterator instead of a Vec from stat_dmap_entries.
Nov 7 2019, 1:22 PM

Nov 6 2019

kevincox accepted D7255: rust-matchers: remove default implementations for `Matcher` trait.
Nov 6 2019, 12:43 PM
kevincox accepted D7253: rust-status: remove dead code.
Nov 6 2019, 11:25 AM
kevincox accepted D7254: rust-status: improve status performance.
Nov 6 2019, 11:23 AM

Oct 30 2019

kevincox added a comment to D7178: [RFC] rust-matchers: add `Matcher` trait and implement `AlwaysMatcher`.

I see a lot of the functions are here to give optimization hints. In order to make someone non-familiar with the code able to understand it each method should state the contracts that it is making. I am having a really hard time reconciling how the different functions interact and which methods have precedence over each other.

Oct 30 2019, 11:24 AM

Oct 19 2019

kevincox added a comment to D7116: rust-performance: introduce FastHashMap type alias for HashMap.

The following comparison shows that for input > 20 bytes, fnv has worse overall performance than xx

Oct 19 2019, 8:14 AM

Oct 16 2019

kevincox added a comment to D7116: rust-performance: introduce FastHashMap type alias for HashMap.

I've seen very good results with https://github.com/servo/rust-fnv in the past so it is probably worth including that in the comparison and possibly using it. It is especially good for small keys which seems like a common case in hg.

Oct 16 2019, 7:03 PM
kevincox added a comment to D7116: rust-performance: introduce FastHashMap type alias for HashMap.

OOC, have you compared this with the hashbrown crate for perf?

Oct 16 2019, 6:59 PM

Oct 15 2019

kevincox added a comment to D7058: rust-dirstate-status: add first Rust implementation of `dirstate.status`.

Thanks, looks good.

Oct 15 2019, 10:48 AM
kevincox accepted D7059: rust-dirstate-status: rust-cpython bindings for `dirstate.status`.
Oct 15 2019, 10:46 AM
kevincox accepted D7107: rust-cross-platform: remove `unimplemented!` to get compile-time errors instead.
Oct 15 2019, 10:44 AM
D7058: rust-dirstate-status: add first Rust implementation of `dirstate.status` now requires changes to proceed.
Oct 15 2019, 9:12 AM

Sep 13 2019

kevincox accepted D6773: rust-hgpath: add HgPath and HgPathBuf structs to encapsulate handling of paths.
Sep 13 2019, 6:49 AM

Sep 12 2019

kevincox accepted D6774: rust-hgpath: replace all paths and filenames with HgPath/HgPathBuf.
Sep 12 2019, 4:25 AM

Aug 30 2019

kevincox accepted D6773: rust-hgpath: add HgPath and HgPathBuf structs to encapsulate handling of paths.
Aug 30 2019, 11:13 AM
D6773: rust-hgpath: add HgPath and HgPathBuf structs to encapsulate handling of paths now requires changes to proceed.

It looks good overall. I just would like to have a bit more strict definition of what an HgPath can contain and preferably some init-time validation.

Aug 30 2019, 5:38 AM

Aug 28 2019

kevincox accepted D6770: rust: fix warnings about trait objects without dyn being deprecated.
Aug 28 2019, 8:24 AM
kevincox added inline comments to D6765: rustfilepatterns: shorter code for concatenating slices.
Aug 28 2019, 7:48 AM