- User Since
- Nov 23 2020, 12:09 PM (42 w, 4 d)
Tue, Sep 14
Mon, Sep 13
There are strictly more error cases that can be represented by RevlogError so it is more general. (Since it has an Other variant that contains an HgError, plus some other variants.)
I’ve edited the commit message to discuss genericity and StableDeref
Fri, Sep 10
Thu, Sep 9
Ok. The correct normalization can be added later, let’s not block this patch.
Sat, Sep 4
Updated manually rather than trough Baymax since the windows-py3-pyox job in https://foss.heptapod.net/octobus/mercurial-devel/-/pipelines/26551 failed 4 times in a row with different error messages.
Fri, Sep 3
Inline the whole parser into one function
Dear reviewer, when trying to find cases where this code has different behavior than that of mercurial/utils/stringutil.py (or convince yourself that it’s the same), I advise for your own mental well-being not to question too much what that behavior is.
Thu, Sep 2
Is https://doc.rust-lang.org/std/fs/fn.canonicalize.html the correct normalization needed here? (Note that it follows symlinks.) If it’s easy enough, it may be worth implementing the correct behavior instead of adding fallback.
Looks good. This should be merged around the same time as CI is changed to use 1.48.0
Jul 30 2021
Jul 29 2021
I’ve changed this to only propagate permission errors specifically, for now. This seems to be the one that’s somewhat likely to happen, from possible errors listed in man 2 stat.
This should not be merged as-is: some tests fail because this function returns an error if an ancestor of the given path is not a directory. We’d want to handle that case like "not found" errors instead, but https://doc.rust-lang.org/nightly/std/io/enum.ErrorKind.html#variant.NotADirectory is not stable yet (and does not exist at all in 1.41)
I’ve reproduced the same as Alphare.