[Request] [+ ] D11281: templater: swap `\` with `/` to allow the resource logic to kicks in
marmoute (Pierre-Yves David)
phabricator at mercurial-scm.org
Tue Aug 17 19:00:05 UTC 2021
marmoute created this revision.
Herald added a reviewer: hg-reviewers.
Herald added a subscriber: mercurial-patches.
REVISION SUMMARY
Without this change our wrapper to the resource logic will fails to details the
nesting and try to pass `directory/file` entry to the resource module, leading
to a crash.
Ideally, we should track down all caller passing `\` instead of `/`, but that
is far more intrusive and we would like to have a working pyoxidized version
working for 5.9 It will be easy to add a warning to the above code to track
down "bad" caller during the 6.0 cycle.
This reduce the number of failing test with pyoxidizer from 52 to 23
REPOSITORY
rHG Mercurial
BRANCH
stable
REVISION DETAIL
https://phab.mercurial-scm.org/D11281
AFFECTED FILES
mercurial/templater.py
CHANGE DETAILS
diff --git a/mercurial/templater.py b/mercurial/templater.py
--- a/mercurial/templater.py
+++ b/mercurial/templater.py
@@ -1117,6 +1117,13 @@
return f, open(f, mode='rb')
# Otherwise try to read it using the resources API
+ if pycompat.iswindows:
+ # quick hack to make sure we can process '/' in the code dealing with
+ # ressource. Ideally we would make sure we use `/` instead of `ossep`
+ # in the templater code, but that seems a bigger and less certain
+ # change that we better left for the default branch.
+ name_paths = name.split(pycompat.ossep)
+ name = b'/'.join(name_paths)
name_parts = name.split(b'/')
package_name = b'.'.join([b'mercurial', b'templates'] + name_parts[:-1])
return (
To: marmoute, #hg-reviewers
Cc: mercurial-patches, mercurial-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mercurial-scm.org/pipermail/mercurial-patches/attachments/20210817/3b8c1bd9/attachment.html>
More information about the Mercurial-patches
mailing list