Page MenuHomePhabricator

indygreg (Gregory Szorc)
User

Projects

User Details

User Since
Jul 1 2017, 5:02 PM (207 w, 18 h)

Recent Activity

Mon, May 24

D10756: exewrapper: avoid directly linking against python3X.dll is now accepted and ready to land.

Oh wow - I never would have thought that the presence of this symbol would affect linking behavior. But I suppose it makes sense. The functions are probably left as unresolved references but the static variable reference forces early binding or something. I'm not an expert on how PE does symbol binding/resolution. But this patch shouldn't change behavior and if it fixes the problem, it fixes the problem.

Mon, May 24, 9:38 PM

May 15 2021

indygreg closed D10689: pyoxidizer: use Python 3.9 (BC).
May 15 2021, 7:24 PM
indygreg closed D10688: packaging: use PyOxidizer for producing WiX MSI installer.
May 15 2021, 7:24 PM
indygreg committed rHG159d2de3286c: pyoxidizer: use Python 3.9 (BC).
pyoxidizer: use Python 3.9 (BC)
May 15 2021, 7:24 PM
indygreg closed D10686: packaging: rename run_pyoxidizer().
May 15 2021, 7:24 PM
indygreg committed rHG73f1a10320d1: packaging: use PyOxidizer for producing WiX MSI installer.
packaging: use PyOxidizer for producing WiX MSI installer
May 15 2021, 7:24 PM
indygreg closed D10683: pyoxidizer: support producing MSI installers.
May 15 2021, 7:24 PM
indygreg closed D10687: packaging: extract invocation of pyoxidizer to own function.
May 15 2021, 7:24 PM
indygreg committed rHGd09b36f69180: packaging: extract invocation of pyoxidizer to own function.
packaging: extract invocation of pyoxidizer to own function
May 15 2021, 7:24 PM
indygreg committed rHGdf1767fa822d: packaging: rename run_pyoxidizer().
packaging: rename run_pyoxidizer()
May 15 2021, 7:24 PM
indygreg committed rHG41be7698a4fd: packaging: move documentation HTML building to own function.
packaging: move documentation HTML building to own function
May 15 2021, 7:24 PM
indygreg closed D10684: pyoxidizer: support code signing.
May 15 2021, 7:24 PM
indygreg closed D10682: pyoxidizer: use allocator_backend instead of raw_allocator.
May 15 2021, 7:24 PM
indygreg closed D10685: packaging: move documentation HTML building to own function.
May 15 2021, 7:24 PM
indygreg committed rHGc8001d9c26f5: pyoxidizer: support code signing.
pyoxidizer: support code signing
May 15 2021, 7:24 PM
indygreg committed rHG603efb3845ba: pyoxidizer: support producing MSI installers.
pyoxidizer: support producing MSI installers
May 15 2021, 7:24 PM
indygreg committed rHG3380848c6e04: pyoxidizer: use allocator_backend instead of raw_allocator.
pyoxidizer: use allocator_backend instead of raw_allocator
May 15 2021, 7:24 PM
indygreg closed D10680: contrib: install PyOxidizer 0.16.0.
May 15 2021, 7:24 PM
indygreg committed rHG0de5eefbe4b2: contrib: install PyOxidizer 0.16.0.
contrib: install PyOxidizer 0.16.0
May 15 2021, 7:24 PM
indygreg committed rHG9438e9b7321a: pyoxidizer: simplify targets.
pyoxidizer: simplify targets
May 15 2021, 7:24 PM
indygreg closed D10681: pyoxidizer: simplify targets.
May 15 2021, 7:24 PM
indygreg closed D10679: pyoxidizer: pin Python to 3.8.
May 15 2021, 7:23 PM
indygreg closed D10690: automation: create Python 3.5 variant of requirements.txt.
May 15 2021, 7:23 PM
indygreg committed rHG95950dc832cf: pyoxidizer: pin Python to 3.8.
pyoxidizer: pin Python to 3.8
May 15 2021, 7:23 PM
indygreg closed D10678: pyoxidizer: remove some boilerplate in file.
May 15 2021, 7:23 PM
indygreg committed rHG3e18a29deec9: pyoxidizer: remove some boilerplate in file.
pyoxidizer: remove some boilerplate in file
May 15 2021, 7:23 PM
indygreg closed D10676: contrib: update Python versions in Windows automation.
May 15 2021, 7:23 PM
indygreg closed D10677: contrib: upgrade Rust in Windows automation.
May 15 2021, 7:23 PM
indygreg committed rHGe768294a7182: contrib: update Python versions in Windows automation.
contrib: update Python versions in Windows automation
May 15 2021, 7:23 PM
indygreg committed rHGb128a3ae98ef: contrib: upgrade Rust in Windows automation.
contrib: upgrade Rust in Windows automation
May 15 2021, 7:23 PM
indygreg closed D10675: automation: update rust in Linux environment.
May 15 2021, 7:23 PM
indygreg committed rHG2df655f682a6: automation: update rust in Linux environment.
automation: update rust in Linux environment
May 15 2021, 7:23 PM
indygreg closed D10674: automation: install latest Python versions in Linux environment.
May 15 2021, 7:23 PM
indygreg committed rHG743522fa2455: automation: install latest Python versions in Linux environment.
automation: install latest Python versions in Linux environment
May 15 2021, 7:23 PM
indygreg committed rHG546e812a1c2d: automation: create Python 3.5 variant of requirements.txt.
automation: create Python 3.5 variant of requirements.txt
May 15 2021, 7:23 PM

May 10 2021

indygreg added a comment to D10689: pyoxidizer: use Python 3.9 (BC).

running light to produce C:\Users\mharbison\mercurial\build\pyoxidizer\x86_64-pc-windows-msvc\release\msi\mercurial-5.8.msi
C:\Users\mharbison\mercurial\build\pyoxidizer\wxs\mercurial.wxs(55) : warning LGHT1076 : ICE40: REINSTALLMODE is defined in the Property table. This may cause difficulties.
C:\Users\mharbison\mercurial\build\pyoxidizer\wxs\mercurial.wxs(147) : warning LGHT1076 : ICE61: This product should remove only older versions of itself. No Maximum version was detected for the current product. (INSTALLEDMERCURIALPRODUCTS)

IDK if the `REINSTALLMODE` warning matters, or what it is alluding to.
May 10 2021, 8:30 PM
indygreg abandoned D10691: contrib: install Visual Studio 2019 tools instead of 2017.
May 10 2021, 8:24 PM

May 9 2021

indygreg retitled D10680: contrib: install PyOxidizer 0.16.0 from contrib: install PyOxidizer 0.15.0 to contrib: install PyOxidizer 0.16.0.
May 9 2021, 1:08 PM

May 7 2021

indygreg added a comment to D10680: contrib: install PyOxidizer 0.16.0.

I'll need to release a new version of PyOxidizer to fix wonky behavior due to interaction of file mtimes and pip (https://github.com/indygreg/PyOxidizer/commit/a0bdde179aaed8521d3a668e518554814bcffdba).

May 7 2021, 8:38 PM
indygreg added a comment to D10689: pyoxidizer: use Python 3.9 (BC).

Yeah, I was hitting this zip file error too. I'm not sure what's causing it. But I'm actively looking into fixing it!

May 7 2021, 1:25 PM
indygreg updated the summary of D10680: contrib: install PyOxidizer 0.16.0.
May 7 2021, 12:43 PM
indygreg added a comment to D10691: contrib: install Visual Studio 2019 tools instead of 2017.

Turns out Python's distutils isn't smart enough to use Visual Studio 2019, even though its toolchain is ABI compatible with 2017. Boo.

May 7 2021, 11:13 AM
indygreg updated the diff for D10691: contrib: install Visual Studio 2019 tools instead of 2017.
May 7 2021, 10:58 AM

May 6 2021

indygreg created D10691: contrib: install Visual Studio 2019 tools instead of 2017.
May 6 2021, 11:51 PM
indygreg updated the diff for D10690: automation: create Python 3.5 variant of requirements.txt.
May 6 2021, 9:53 PM
indygreg updated subscribers of D10683: pyoxidizer: support producing MSI installers.

@mharbison72 You may be interested in this series starting at approximately this patch. Version 0.15 of PyOxidizer supports building MSIs "natively." I implemented enough features to port Mercurial's MSI generation to it. I need to have a go at porting TortoiseHg to use PyOxidizer. But I'm optimistic it is doable. Note that you don't need to use the "build a Python binary" pieces of PyOxidizer with MSI generation: they are completely separate.

May 6 2021, 9:42 PM
indygreg created D10690: automation: create Python 3.5 variant of requirements.txt.
May 6 2021, 9:39 PM
indygreg updated the diff for D10674: automation: install latest Python versions in Linux environment.
May 6 2021, 9:38 PM
indygreg updated the summary of D10680: contrib: install PyOxidizer 0.16.0.
May 6 2021, 9:38 PM
indygreg created D10689: pyoxidizer: use Python 3.9 (BC).
May 6 2021, 8:01 PM
indygreg created D10688: packaging: use PyOxidizer for producing WiX MSI installer.
May 6 2021, 8:01 PM
indygreg created D10683: pyoxidizer: support producing MSI installers.
May 6 2021, 8:01 PM
indygreg created D10686: packaging: rename run_pyoxidizer().
May 6 2021, 8:01 PM
indygreg created D10687: packaging: extract invocation of pyoxidizer to own function.
May 6 2021, 8:01 PM
indygreg created D10684: pyoxidizer: support code signing.
May 6 2021, 8:01 PM
indygreg created D10685: packaging: move documentation HTML building to own function.
May 6 2021, 8:01 PM
indygreg created D10682: pyoxidizer: use allocator_backend instead of raw_allocator.
May 6 2021, 8:01 PM
indygreg created D10681: pyoxidizer: simplify targets.
May 6 2021, 8:01 PM
indygreg created D10680: contrib: install PyOxidizer 0.16.0.
May 6 2021, 8:01 PM
indygreg created D10679: pyoxidizer: pin Python to 3.8.
May 6 2021, 8:00 PM
indygreg created D10678: pyoxidizer: remove some boilerplate in file.
May 6 2021, 8:00 PM
indygreg created D10677: contrib: upgrade Rust in Windows automation.
May 6 2021, 8:00 PM
indygreg created D10676: contrib: update Python versions in Windows automation.
May 6 2021, 8:00 PM
indygreg created D10675: automation: update rust in Linux environment.
May 6 2021, 8:00 PM
indygreg created D10674: automation: install latest Python versions in Linux environment.
May 6 2021, 8:00 PM

Feb 6 2021

indygreg added inline comments to D9770: upgrade: don't create store backup if `--no-backup` is passed.
Feb 6 2021, 2:15 PM

Jan 24 2021

indygreg closed D9858: contrib: update PyOxidizer to 0.10.3.
Jan 24 2021, 10:20 PM
indygreg committed rHGa6c5ec6b4728: contrib: update PyOxidizer to 0.10.3.
contrib: update PyOxidizer to 0.10.3
Jan 24 2021, 10:20 PM
indygreg created D9858: contrib: update PyOxidizer to 0.10.3.
Jan 24 2021, 9:28 PM
indygreg added a comment to D9843: revlog: introduce v2 format.

I'm not going to review this right now, but I have prior art at https://www.mercurial-scm.org/pipermail/mercurial-devel/2017-February/093657.html and https://www.mercurial-scm.org/pipermail/mercurial-devel/2017-May/097960.html that might be worth a read. I believe the wiki page on this format only contains a subset of the deficiencies I outlined in the 1st link.

Jan 24 2021, 8:50 PM
indygreg added a comment to D9516: perf: use the `perf--` prefix for perf command.

The -- also bothers me and I came here to see if it had been discussed before accepting this patch.

Jan 24 2021, 5:32 PM
indygreg added inline comments to D9810: persistent-nodemap: also exchange the nodemap data over the wire.
Jan 24 2021, 3:33 PM
indygreg added a comment to D9808: hghave: adjust the definition of `tic` to allow curses tests on Windows.

Shouldn't this patch be checking for the existence of the windows_curses package instead?

Jan 24 2021, 3:32 PM
indygreg added a comment to D9789: clone: make sure we warm the cache after a clone.

I'm -0 on this change. Caches are caches and IMO should only be populated on demand.

Jan 24 2021, 3:27 PM
indygreg added inline comments to D9760: persistent-node: check the value of the slow-path config.
Jan 24 2021, 3:17 PM
indygreg added a comment to D9695: upgrade: don't perform anything if nothing to do.

I mostly support this change. However, a supposed no-op upgrade may still result in differences! For example, if we change the algorithm for computing how revlog deltas are computed without actually changing the storage semantics, performing a no-op upgrade would migrate the store to use the new code.

Jan 24 2021, 2:57 PM

Jan 22 2021

indygreg added a comment to D9825: cext: add Python 3.10 support.

Do you think we should go ahead and apply the local patch then until we can update the vendored copy?

Jan 22 2021, 9:10 PM
indygreg added a comment to D9825: cext: add Python 3.10 support.

Yes, please remove the python-zstandard changes from here, and send them directly to @indygreg upstream for that.

Jan 22 2021, 8:25 PM

Dec 4 2020

indygreg closed D9281: cext: add .pyi files for C extensions.
Dec 4 2020, 2:53 PM
indygreg committed rHG8dca9051a859: cext: add .pyi files for C extensions.
cext: add .pyi files for C extensions
Dec 4 2020, 2:52 PM

Nov 18 2020

indygreg closed D9280: revlog: pass sidedata argument to flagutil.processflagswrite().
Nov 18 2020, 6:07 PM
indygreg committed rHG11842aad3195: revlog: pass sidedata argument to flagutil.processflagswrite().
revlog: pass sidedata argument to flagutil.processflagswrite()
Nov 18 2020, 6:06 PM
indygreg committed rHG68aedad4c11c: pure: guard against empty blocks.
pure: guard against empty blocks
Nov 18 2020, 6:06 PM
indygreg closed D9279: pure: guard against empty blocks.
Nov 18 2020, 6:06 PM

Nov 11 2020

D9295: test-filecache: use sys.executable to call python is now accepted and ready to land.
Nov 11 2020, 11:44 PM
indygreg added a comment to D9294: packaging: enable rust extensions on centos.

Are the Rust extensions considered stable? I'm honestly unsure. I'd love to ship these. But I'd like confirmation from the people maintaining them before we sign off.

Nov 11 2020, 11:44 PM
D9293: packaging: switch centos 7 packaging to python 3 is now accepted and ready to land.
Nov 11 2020, 11:43 PM
D9292: packaging: remove centos5 and centos6 support is now accepted and ready to land.
Nov 11 2020, 11:42 PM
D9291: make: add a pyoxidizer target is now accepted and ready to land.
Nov 11 2020, 11:40 PM
D9290: pyoxidizer: switch to modern config using run_command instead of run_mode is now accepted and ready to land.
Nov 11 2020, 11:40 PM

Nov 10 2020

D9289: pyoxidizer: default to one-file binary on non-Windows platforms is now accepted and ready to land.

I think this should work.

Nov 10 2020, 8:47 PM
indygreg closed D9273: global: use python3 in shebangs.
Nov 10 2020, 12:13 AM
indygreg committed rHGc102b704edb5: global: use python3 in shebangs.
global: use python3 in shebangs
Nov 10 2020, 12:11 AM

Nov 9 2020

indygreg added inline comments to D9283: bundle: optional multithreaded compression, ATM zstd-only.
Nov 9 2020, 11:26 PM
D9286: tests: use python from environment in test-parseindex2.py is now accepted and ready to land.
Nov 9 2020, 11:19 PM

Nov 7 2020

indygreg created D9281: cext: add .pyi files for C extensions.
Nov 7 2020, 8:23 PM
indygreg created D9280: revlog: pass sidedata argument to flagutil.processflagswrite().
Nov 7 2020, 8:23 PM
indygreg created D9279: pure: guard against empty blocks.
Nov 7 2020, 8:23 PM
indygreg added a comment to D9277: transaction: change list of journal entries into a dictionary.

Let's refactor the playback code to read from the journal file [handle]. That will preserve the order. There should be no meaningful performance implications here.

Nov 7 2020, 8:06 PM
indygreg added a comment to D9278: transaction: split new files into a separate set.

Why do we have to maintain the in-memory records at all? Don't we write these to the journal and journal.backupfiles files? What's wrong with reading this file handle? We only need to perform a findoffset() when incurring a split revlog or during rollback, right? Is there a noticeable performance overhead to performing that linear scan?

Nov 7 2020, 5:54 PM