- User Since
- Jul 1 2017, 5:02 PM (127 w, 5 d)
Tue, Dec 10
Sat, Dec 7
The autogenerated parser.rs and its Python script to generate it have been removed in the latest version of this series.
Thank you for the feedback, @quark! You enlightened me to a few issues I missed during my very quick perusal.
Fri, Dec 6
Sat, Nov 23
I'm satisfied with the discussion and will proceed with reviewing this series.
Fri, Nov 22
Thu, Nov 21
I just uploaded a compromise patch that ignores Windows for now.
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.
This is ready for re-review. Please take a look @durin42.
I'll put this one on stable.
Tue, Nov 19
Mon, Nov 18
Thank you for tracking down this issue and for the detailed commit message!
This looks like a non-behavior-changing refactor. Thanks also for the switch to a context manager, which is more robust.
@durin42 I just queued most of the remaining patches in this series. This one still needs your attention, it appears.
Where does hgext.__index__ come from?!
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!
Sun, Nov 17
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.
Pointing to the executable when running with PyOxidizer seems like a reasonable approach to me!
Sat, Nov 16
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.