##// END OF EJS Templates
branching: merge with stable
Martin von Zweigbergk -
r46348:79d68175 merge default
parent child Browse files
Show More
@@ -202,3 +202,4 b' 28163c5de797e5416f9b588940f4608269b4d50a'
202 202 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
@@ -215,3 +215,4 b' 28163c5de797e5416f9b588940f4608269b4d50a'
215 215 7fc3c5fbc65f6fe85d70ea63923b8767dda4f2e0 5.5
216 216 f62bb5d07848ca598aa860a517394130b61bf2ee 5.5.1
217 217 07731064ac41dacdf0ec869ebd05c2e848c14fbf 5.5.2
218 0e06a7ab9e0d5c65af4e511aee1e0342998799df 5.6rc0
@@ -75,7 +75,7 b' sudo -H -u hg -g hg ./rustup-init -y'
75 75 sudo -H -u hg -g hg /home/hg/.cargo/bin/rustup install 1.31.1 1.46.0
76 76 sudo -H -u hg -g hg /home/hg/.cargo/bin/rustup component add clippy
77 77
78 sudo -H -u hg -g hg /home/hg/.cargo/bin/cargo install --git https://github.com/indygreg/PyOxidizer.git --rev 4697fb25918dfad6dc73288daeea501063963a08 pyoxidizer
78 sudo -H -u hg -g hg /home/hg/.cargo/bin/cargo install --version 0.9.0 pyoxidizer
79 79 '''
80 80
81 81
@@ -127,6 +127,8 b" WHEEL_FILENAME_PYTHON37_X86 = 'mercurial"
127 127 WHEEL_FILENAME_PYTHON37_X64 = 'mercurial-{version}-cp37-cp37m-win_amd64.whl'
128 128 WHEEL_FILENAME_PYTHON38_X86 = 'mercurial-{version}-cp38-cp38-win32.whl'
129 129 WHEEL_FILENAME_PYTHON38_X64 = 'mercurial-{version}-cp38-cp38-win_amd64.whl'
130 WHEEL_FILENAME_PYTHON39_X86 = 'mercurial-{version}-cp39-cp39-win32.whl'
131 WHEEL_FILENAME_PYTHON39_X64 = 'mercurial-{version}-cp39-cp39-win_amd64.whl'
130 132
131 133 EXE_FILENAME_PYTHON2_X86 = 'Mercurial-{version}-x86-python2.exe'
132 134 EXE_FILENAME_PYTHON2_X64 = 'Mercurial-{version}-x64-python2.exe'
@@ -471,6 +473,8 b' def resolve_wheel_artifacts(dist_path: p'
471 473 dist_path / WHEEL_FILENAME_PYTHON37_X64.format(version=version),
472 474 dist_path / WHEEL_FILENAME_PYTHON38_X86.format(version=version),
473 475 dist_path / WHEEL_FILENAME_PYTHON38_X64.format(version=version),
476 dist_path / WHEEL_FILENAME_PYTHON39_X86.format(version=version),
477 dist_path / WHEEL_FILENAME_PYTHON39_X64.format(version=version),
474 478 )
475 479
476 480
@@ -482,6 +486,8 b' def resolve_all_artifacts(dist_path: pat'
482 486 dist_path / WHEEL_FILENAME_PYTHON37_X64.format(version=version),
483 487 dist_path / WHEEL_FILENAME_PYTHON38_X86.format(version=version),
484 488 dist_path / WHEEL_FILENAME_PYTHON38_X64.format(version=version),
489 dist_path / WHEEL_FILENAME_PYTHON39_X86.format(version=version),
490 dist_path / WHEEL_FILENAME_PYTHON39_X64.format(version=version),
485 491 dist_path / EXE_FILENAME_PYTHON2_X86.format(version=version),
486 492 dist_path / EXE_FILENAME_PYTHON2_X64.format(version=version),
487 493 dist_path / EXE_FILENAME_PYTHON3_X86.format(version=version),
@@ -125,7 +125,7 b' function Install-Rust($prefix) {'
125 125 Invoke-Process "${prefix}\cargo\bin\rustup.exe" "component add clippy"
126 126
127 127 # Install PyOxidizer for packaging.
128 Invoke-Process "${prefix}\cargo\bin\cargo.exe" "install --git https://github.com/indygreg/PyOxidizer.git --rev 4697fb25918dfad6dc73288daeea501063963a08 pyoxidizer"
128 Invoke-Process "${prefix}\cargo\bin\cargo.exe" "install --version 0.9.0 pyoxidizer"
129 129 }
130 130
131 131 function Install-Dependencies($prefix) {
@@ -66,7 +66,7 b' def build_with_py2exe('
66 66 staging_dir = inno_build_dir / 'stage'
67 67
68 68 requirements_txt = (
69 source_dir / 'contrib' / 'packaging' / 'requirements_win32.txt'
69 source_dir / 'contrib' / 'packaging' / 'requirements-windows-py2.txt'
70 70 )
71 71
72 72 inno_build_dir.mkdir(parents=True, exist_ok=True)
@@ -319,7 +319,7 b' def build_installer_py2exe('
319 319 hg_build_dir = source_dir / 'build'
320 320
321 321 requirements_txt = (
322 source_dir / 'contrib' / 'packaging' / 'requirements_win32.txt'
322 source_dir / 'contrib' / 'packaging' / 'requirements-windows-py2.txt'
323 323 )
324 324
325 325 build_py2exe(
@@ -2,7 +2,7 b''
2 2 # This file is autogenerated by pip-compile
3 3 # To update, run:
4 4 #
5 # pip-compile --generate-hashes --output-file=contrib/packaging/requirements_win32.txt contrib/packaging/requirements_win32.txt.in
5 # pip-compile --generate-hashes --output-file=contrib/packaging/requirements-windows-py2.txt contrib/packaging/requirements-windows.txt.in
6 6 #
7 7 certifi==2020.6.20 \
8 8 --hash=sha256:5930595817496dd21bb8dc35dad090f1c2cd0adfaf21204bf6732ca5d8ee34d3 \
@@ -46,6 +46,10 b' cffi==1.14.3 \\'
46 46 --hash=sha256:f92cdecb618e5fa4658aeb97d5eb3d2f47aa94ac6477c6daf0f306c5a3b9e6b1 \
47 47 --hash=sha256:f92f789e4f9241cd262ad7a555ca2c648a98178a953af117ef7fad46aa1d5591 \
48 48 # via cryptography
49 configparser==4.0.2 \
50 --hash=sha256:254c1d9c79f60c45dfde850850883d5aaa7f19a23f13561243a050d5a7c3fe4c \
51 --hash=sha256:c7d282687a5308319bf3d2e7706e575c635b0a470342641c93bea0ea3b5331df \
52 # via entrypoints
49 53 cryptography==3.1.1 \
50 54 --hash=sha256:21b47c59fcb1c36f1113f3709d37935368e34815ea1d7073862e92f810dc7499 \
51 55 --hash=sha256:451cdf60be4dafb6a3b78802006a020e6cd709c22d240f94f7a0696240a17154 \
@@ -73,8 +77,8 b' cryptography==3.1.1 \\'
73 77 docutils==0.16 \
74 78 --hash=sha256:0c5b78adfbf7762415433f5515cd5c9e762339e23369dbe8000d84a4bf4ab3af \
75 79 --hash=sha256:c2de3a60e9e7d07be26b7f2b00ca0309c207e06c100f9cc2a94931fc75a478fc \
76 # via -r contrib/packaging/requirements_win32.txt.in
77 dulwich==0.19.16 \
80 # via -r contrib/packaging/requirements-windows.txt.in
81 dulwich==0.19.16 ; python_version <= "2.7" \
78 82 --hash=sha256:10699277c6268d0c16febe141a5b1c1a6e9744f3144c2d2de1706f4b1adafe63 \
79 83 --hash=sha256:267160904e9a1cb6c248c5efc53597a35d038ecc6f60bdc4546b3053bed11982 \
80 84 --hash=sha256:4e3aba5e4844e7c700721c1fc696987ea820ee3528a03604dc4e74eff4196826 \
@@ -82,36 +86,44 b' dulwich==0.19.16 \\'
82 86 --hash=sha256:dddae02d372fc3b5cfb0046d0f62246ef281fa0c088df7601ab5916607add94b \
83 87 --hash=sha256:f00d132082b8fcc2eb0d722abc773d4aeb5558c1475d7edd1f0f571146c29db9 \
84 88 --hash=sha256:f74561c448bfb6f04c07de731c1181ae4280017f759b0bb04fa5770aa84ca850 \
85 # via -r contrib/packaging/requirements_win32.txt.in
86 jeepney==0.4.3 \
87 --hash=sha256:3479b861cc2b6407de5188695fa1a8d57e5072d7059322469b62628869b8e36e \
88 --hash=sha256:d6c6b49683446d2407d2fe3acb7a368a77ff063f9182fe427da15d622adc24cf \
89 # via keyring, secretstorage
90 keyring==21.4.0 \
91 --hash=sha256:4e34ea2fdec90c1c43d6610b5a5fafa1b9097db1802948e90caf5763974b8f8d \
92 --hash=sha256:9aeadd006a852b78f4b4ef7c7556c2774d2432bbef8ee538a3e9089ac8b11466 \
93 # via -r contrib/packaging/requirements_win32.txt.in
89 # via -r contrib/packaging/requirements-windows.txt.in
90 entrypoints==0.3 \
91 --hash=sha256:589f874b313739ad35be6e0cd7efde2a4e9b6fea91edcc34e58ecbb8dbe56d19 \
92 --hash=sha256:c70dd71abe5a8c85e55e12c19bd91ccfeec11a6e99044204511f9ed547d48451 \
93 # via keyring
94 enum34==1.1.10 \
95 --hash=sha256:a98a201d6de3f2ab3db284e70a33b0f896fbf35f8086594e8c9e74b909058d53 \
96 --hash=sha256:c3858660960c984d6ab0ebad691265180da2b43f07e061c0f8dca9ef3cffd328 \
97 --hash=sha256:cce6a7477ed816bd2542d03d53db9f0db935dd013b70f336a95c73979289f248 \
98 # via cryptography
99 ipaddress==1.0.23 \
100 --hash=sha256:6e0f4a39e66cb5bb9a137b00276a2eff74f93b71dcbdad6f10ff7df9d3557fcc \
101 --hash=sha256:b7f8e0369580bb4a24d5ba1d7cc29660a4a6987763faf1d8a8046830e020e7e2 \
102 # via cryptography
103 keyring==18.0.1 \
104 --hash=sha256:67d6cc0132bd77922725fae9f18366bb314fd8f95ff4d323a4df41890a96a838 \
105 --hash=sha256:7b29ebfcf8678c4da531b2478a912eea01e80007e5ddca9ee0c7038cb3489ec6 \
106 # via -r contrib/packaging/requirements-windows.txt.in
94 107 pycparser==2.20 \
95 108 --hash=sha256:2d475327684562c3a96cc71adf7dc8c4f0565175cf86b6d7a404ff4c771f15f0 \
96 109 --hash=sha256:7582ad22678f0fcd81102833f60ef8d0e57288b6b5fb00323d101be910e35705 \
97 110 # via cffi
98 pygments==2.7.1 \
99 --hash=sha256:307543fe65c0947b126e83dd5a61bd8acbd84abec11f43caebaf5534cbc17998 \
100 --hash=sha256:926c3f319eda178d1bd90851e4317e6d8cdb5e292a3386aac9bd75eca29cf9c7 \
101 # via -r contrib/packaging/requirements_win32.txt.in
111 pygments==2.5.2 \
112 --hash=sha256:2a3fe295e54a20164a9df49c75fa58526d3be48e14aceba6d6b1e8ac0bfd6f1b \
113 --hash=sha256:98c8aa5a9f778fcd1026a17361ddaf7330d1b7c62ae97c3bb0ae73e0b9b6b0fe \
114 # via -r contrib/packaging/requirements-windows.txt.in
102 115 pywin32-ctypes==0.2.0 \
103 116 --hash=sha256:24ffc3b341d457d48e8922352130cf2644024a4ff09762a2261fd34c36ee5942 \
104 117 --hash=sha256:9dc2d991b3479cc2df15930958b674a48a227d5361d413827a4cfd0b5876fc98 \
105 # via -r contrib/packaging/requirements_win32.txt.in
106 secretstorage==3.1.2 \
107 --hash=sha256:15da8a989b65498e29be338b3b279965f1b8f09b9668bd8010da183024c8bff6 \
108 --hash=sha256:b5ec909dde94d4ae2fa26af7c089036997030f0cf0a5cb372b4cccabd81c143b \
118 # via -r contrib/packaging/requirements-windows.txt.in
119 secretstorage==2.3.1 \
120 --hash=sha256:3af65c87765323e6f64c83575b05393f9e003431959c9395d1791d51497f29b6 \
109 121 # via keyring
110 122 six==1.15.0 \
111 123 --hash=sha256:30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259 \
112 124 --hash=sha256:8b74bedcbbbaca38ff6d7491d76f2b06b3592611af620f8426e82dddb04a5ced \
113 125 # via cryptography
114 urllib3==1.25.10 \
115 --hash=sha256:91056c15fa70756691db97756772bb1eb9678fa585d9184f24534b100dc60f4a \
116 --hash=sha256:e7983572181f5e1522d9c98453462384ee92a0be7fac5f1413a1e35c56cc0461 \
126 urllib3==1.25.11 \
127 --hash=sha256:8d7eaa5a82a1cac232164990f04874c594c9453ec55eef02eab885aa02fc17a2 \
128 --hash=sha256:f5321fbe4bf3fefa0efd0bfe7fb14e90909eb62a48ccda331726b4319897dd5e \
117 129 # via dulwich
@@ -2,7 +2,7 b''
2 2 # This file is autogenerated by pip-compile
3 3 # To update, run:
4 4 #
5 # pip-compile --generate-hashes --output-file=contrib/packaging/requirements_win32.txt contrib/packaging/requirements_win32.txt.in
5 # pip-compile --generate-hashes --output-file=contrib/packaging/requirements-windows-py3.txt contrib/packaging/requirements-windows.txt.in
6 6 #
7 7 certifi==2020.6.20 \
8 8 --hash=sha256:5930595817496dd21bb8dc35dad090f1c2cd0adfaf21204bf6732ca5d8ee34d3 \
@@ -73,16 +73,22 b' cryptography==3.1.1 \\'
73 73 docutils==0.16 \
74 74 --hash=sha256:0c5b78adfbf7762415433f5515cd5c9e762339e23369dbe8000d84a4bf4ab3af \
75 75 --hash=sha256:c2de3a60e9e7d07be26b7f2b00ca0309c207e06c100f9cc2a94931fc75a478fc \
76 # via -r contrib/packaging/requirements_win32.txt.in
77 dulwich==0.19.16 \
78 --hash=sha256:10699277c6268d0c16febe141a5b1c1a6e9744f3144c2d2de1706f4b1adafe63 \
79 --hash=sha256:267160904e9a1cb6c248c5efc53597a35d038ecc6f60bdc4546b3053bed11982 \
80 --hash=sha256:4e3aba5e4844e7c700721c1fc696987ea820ee3528a03604dc4e74eff4196826 \
81 --hash=sha256:60bb2c2c92f5025c1b53a556304008f0f624c98ae36f22d870e056b2d4236c11 \
82 --hash=sha256:dddae02d372fc3b5cfb0046d0f62246ef281fa0c088df7601ab5916607add94b \
83 --hash=sha256:f00d132082b8fcc2eb0d722abc773d4aeb5558c1475d7edd1f0f571146c29db9 \
84 --hash=sha256:f74561c448bfb6f04c07de731c1181ae4280017f759b0bb04fa5770aa84ca850 \
85 # via -r contrib/packaging/requirements_win32.txt.in
76 # via -r contrib/packaging/requirements-windows.txt.in
77 dulwich==0.20.6 ; python_version >= "3" \
78 --hash=sha256:1ccd55e38fa9f169290f93e027ab4508202f5bdd6ef534facac4edd3f6903f0d \
79 --hash=sha256:2452a0379cc7bbbd7ab893ec104d18039f1ea98b0d6be6bca5646e5cf29e0ae9 \
80 --hash=sha256:2f4aebc54ed2d37dcee737024421452375570a422eb682232e676aa7ebc9cb4b \
81 --hash=sha256:304f52b10c49c3a6ddfbd73e2e93d8e979350225cfba9688e51110e74fa2f718 \
82 --hash=sha256:49e747c72d9099e873bf6196260346d5996c3f28af788294d47a8accdc524de7 \
83 --hash=sha256:4fee359928c59b53af153a582a7ed7595259a5a825df400301a29e17fd78dfd3 \
84 --hash=sha256:50ef300a9fa4efd9f85009c2bd8b515266ec1529400f8834f85c04fa9f09b2c0 \
85 --hash=sha256:5348310f21b2a23847342ce464461499b6652483fa42de03714d0f6421a99698 \
86 --hash=sha256:7e7b5dea5178b6493fdb83adccbe81de9ddff55f79880185ed594c0e3a97209b \
87 --hash=sha256:8f7a7f973be2beedfb10dd8d3eb6bdf9ec466c72ad555704897cbd6357fe5021 \
88 --hash=sha256:bea6e6caffc6c73bfd1647714c5715ab96ac49deb8beb8b67511529afa25685a \
89 --hash=sha256:e5871b86a079e9e290f52ab14559cea1b694a0b8ed2b9ebb898f6ced7f14a406 \
90 --hash=sha256:e593f514b8ac740b4ceeb047745b4719bfc9f334904245c6edcb3a9d002f577b \
91 # via -r contrib/packaging/requirements-windows.txt.in
86 92 jeepney==0.4.3 \
87 93 --hash=sha256:3479b861cc2b6407de5188695fa1a8d57e5072d7059322469b62628869b8e36e \
88 94 --hash=sha256:d6c6b49683446d2407d2fe3acb7a368a77ff063f9182fe427da15d622adc24cf \
@@ -90,7 +96,7 b' jeepney==0.4.3 \\'
90 96 keyring==21.4.0 \
91 97 --hash=sha256:4e34ea2fdec90c1c43d6610b5a5fafa1b9097db1802948e90caf5763974b8f8d \
92 98 --hash=sha256:9aeadd006a852b78f4b4ef7c7556c2774d2432bbef8ee538a3e9089ac8b11466 \
93 # via -r contrib/packaging/requirements_win32.txt.in
99 # via -r contrib/packaging/requirements-windows.txt.in
94 100 pycparser==2.20 \
95 101 --hash=sha256:2d475327684562c3a96cc71adf7dc8c4f0565175cf86b6d7a404ff4c771f15f0 \
96 102 --hash=sha256:7582ad22678f0fcd81102833f60ef8d0e57288b6b5fb00323d101be910e35705 \
@@ -98,11 +104,11 b' pycparser==2.20 \\'
98 104 pygments==2.7.1 \
99 105 --hash=sha256:307543fe65c0947b126e83dd5a61bd8acbd84abec11f43caebaf5534cbc17998 \
100 106 --hash=sha256:926c3f319eda178d1bd90851e4317e6d8cdb5e292a3386aac9bd75eca29cf9c7 \
101 # via -r contrib/packaging/requirements_win32.txt.in
107 # via -r contrib/packaging/requirements-windows.txt.in
102 108 pywin32-ctypes==0.2.0 \
103 109 --hash=sha256:24ffc3b341d457d48e8922352130cf2644024a4ff09762a2261fd34c36ee5942 \
104 110 --hash=sha256:9dc2d991b3479cc2df15930958b674a48a227d5361d413827a4cfd0b5876fc98 \
105 # via -r contrib/packaging/requirements_win32.txt.in
111 # via -r contrib/packaging/requirements-windows.txt.in
106 112 secretstorage==3.1.2 \
107 113 --hash=sha256:15da8a989b65498e29be338b3b279965f1b8f09b9668bd8010da183024c8bff6 \
108 114 --hash=sha256:b5ec909dde94d4ae2fa26af7c089036997030f0cf0a5cb372b4cccabd81c143b \
@@ -111,7 +117,7 b' six==1.15.0 \\'
111 117 --hash=sha256:30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259 \
112 118 --hash=sha256:8b74bedcbbbaca38ff6d7491d76f2b06b3592611af620f8426e82dddb04a5ced \
113 119 # via cryptography
114 urllib3==1.25.10 \
115 --hash=sha256:91056c15fa70756691db97756772bb1eb9678fa585d9184f24534b100dc60f4a \
116 --hash=sha256:e7983572181f5e1522d9c98453462384ee92a0be7fac5f1413a1e35c56cc0461 \
120 urllib3==1.25.11 \
121 --hash=sha256:8d7eaa5a82a1cac232164990f04874c594c9453ec55eef02eab885aa02fc17a2 \
122 --hash=sha256:f5321fbe4bf3fefa0efd0bfe7fb14e90909eb62a48ccda331726b4319897dd5e \
117 123 # via dulwich
@@ -1,6 +1,7 b''
1 1 docutils
2 2 # Pinned to an old version because 0.20 drops Python 3 compatibility.
3 dulwich < 0.20
3 dulwich < 0.20 ; python_version <= '2.7'
4 dulwich ; python_version >= '3'
4 5 keyring
5 6 pygments
6 7 # Need to list explicitly so dependency gets pulled in when
@@ -114,7 +114,7 b' class LazyFinder(object):'
114 114 if (
115 115 spec is not None
116 116 and spec.loader is not None
117 and getattr(spec.loader, "exec_module")
117 and getattr(spec.loader, "exec_module", None)
118 118 ):
119 119 spec.loader = _lazyloaderex(spec.loader)
120 120
@@ -994,24 +994,27 b' def destination(repo, subset, x):'
994 994 )
995 995
996 996
997 @predicate(b'diff(pattern)', weight=110)
998 def diff(repo, subset, x):
997 @predicate(b'diffcontains(pattern)', weight=110)
998 def diffcontains(repo, subset, x):
999 999 """Search revision differences for when the pattern was added or removed.
1000 1000
1001 1001 The pattern may be a substring literal or a regular expression. See
1002 1002 :hg:`help revisions.patterns`.
1003 1003 """
1004 args = getargsdict(x, b'diff', b'pattern')
1004 args = getargsdict(x, b'diffcontains', b'pattern')
1005 1005 if b'pattern' not in args:
1006 # i18n: "diff" is a keyword
1007 raise error.ParseError(_(b'diff takes at least 1 argument'))
1008
1009 pattern = getstring(args[b'pattern'], _(b'diff requires a string pattern'))
1006 # i18n: "diffcontains" is a keyword
1007 raise error.ParseError(_(b'diffcontains takes at least 1 argument'))
1008
1009 pattern = getstring(
1010 args[b'pattern'], _(b'diffcontains requires a string pattern')
1011 )
1010 1012 regexp = stringutil.substringregexp(pattern, re.M)
1011 1013
1012 1014 # TODO: add support for file pattern and --follow. For example,
1013 # diff(pattern[, set]) where set may be file(pattern) or follow(pattern),
1014 # and we'll eventually add a support for narrowing files by revset?
1015 # diffcontains(pattern[, set]) where set may be file(pattern) or
1016 # follow(pattern), and we'll eventually add a support for narrowing
1017 # files by revset?
1015 1018 fmatch = matchmod.always()
1016 1019
1017 1020 def makefilematcher(ctx):
@@ -1030,7 +1033,7 b' def diff(repo, subset, x):'
1030 1033 found = True
1031 1034 return found
1032 1035
1033 return subset.filter(testdiff, condrepr=(b'<diff %r>', pattern))
1036 return subset.filter(testdiff, condrepr=(b'<diffcontains %r>', pattern))
1034 1037
1035 1038
1036 1039 @predicate(b'contentdivergent()', safe=True)
@@ -5,6 +5,9 b''
5 5 source whether or not the source still exists (but the source must
6 6 exist in the parent revision).
7 7
8 * New revset predicate `diffcontains(pattern)` for filtering revisions
9 in the same way as `hg grep --diff pattern`.
10
8 11
9 12 == New Experimental Features ==
10 13
@@ -39,18 +39,18 b' def make_exe(dist):'
39 39 # Extension may depend on any Python functionality. Include all
40 40 # extensions.
41 41 packaging_policy.extension_module_filter = "all"
42 packaging_policy.resources_policy = "prefer-in-memory-fallback-filesystem-relative:lib"
42 packaging_policy.resources_location = "in-memory"
43 packaging_policy.resources_location_fallback = "filesystem-relative:lib"
43 44 packaging_policy.register_resource_callback(resource_callback)
44 45
45 config = PythonInterpreterConfig(
46 raw_allocator = "system",
47 run_eval = RUN_CODE,
48 # We want to let the user load extensions from the file system
49 filesystem_importer = True,
50 # We need this to make resourceutil happy, since it looks for sys.frozen.
51 sys_frozen = True,
52 legacy_windows_stdio = True,
53 )
46 config = dist.make_python_interpreter_config()
47 config.raw_allocator = "system"
48 config.run_mode = "eval:%s" % RUN_CODE
49 # We want to let the user load extensions from the file system
50 config.filesystem_importer = True
51 # We need this to make resourceutil happy, since it looks for sys.frozen.
52 config.sys_frozen = True
53 config.legacy_windows_stdio = True
54 54
55 55 exe = dist.to_python_executable(
56 56 name = "hg",
@@ -64,7 +64,7 b' def make_exe(dist):'
64 64 # On Windows, we install extra packages for convenience.
65 65 if IS_WINDOWS:
66 66 exe.add_python_resources(
67 exe.pip_install(["-r", ROOT + "/contrib/packaging/requirements_win32.txt"]),
67 exe.pip_install(["-r", ROOT + "/contrib/packaging/requirements-windows-py2.txt"]),
68 68 )
69 69
70 70 return exe
@@ -104,5 +104,5 b' resolve_targets()'
104 104 # Everything below this is typically managed by PyOxidizer and doesn't need
105 105 # to be updated by people.
106 106
107 PYOXIDIZER_VERSION = "0.8.0-pre"
108 PYOXIDIZER_COMMIT = "4697fb25918dfad6dc73288daeea501063963a08"
107 PYOXIDIZER_VERSION = "0.9.0"
108 PYOXIDIZER_COMMIT = "1fbc264cc004226cd76ee452e0a386ffca6ccfb1"
@@ -23,13 +23,13 b' pattern error'
23 23
24 24 invalid revset syntax
25 25
26 $ hg log -r 'diff()'
27 hg: parse error: diff takes at least 1 argument
26 $ hg log -r 'diffcontains()'
27 hg: parse error: diffcontains takes at least 1 argument
28 28 [255]
29 $ hg log -r 'diff(:)'
30 hg: parse error: diff requires a string pattern
29 $ hg log -r 'diffcontains(:)'
30 hg: parse error: diffcontains requires a string pattern
31 31 [255]
32 $ hg log -r 'diff("re:**test**")'
32 $ hg log -r 'diffcontains("re:**test**")'
33 33 hg: parse error: invalid regular expression: nothing to repeat* (glob)
34 34 [255]
35 35
@@ -567,13 +567,13 b' Test wdir'
567 567
568 568 revset predicate for "grep --diff"
569 569
570 $ hg log -qr 'diff("re:^bl...$")'
570 $ hg log -qr 'diffcontains("re:^bl...$")'
571 571 0:203191eb5e21
572 $ hg log -qr 'diff("orange")'
572 $ hg log -qr 'diffcontains("orange")'
573 573 1:7c585a21e0d1
574 574 2:11bd8bc8d653
575 575 3:e0116d3829f8
576 $ hg log -qr '2:0 & diff("orange")'
576 $ hg log -qr '2:0 & diffcontains("orange")'
577 577 2:11bd8bc8d653
578 578 1:7c585a21e0d1
579 579
@@ -5,7 +5,7 b' the remote hg is able to successfully ro'
5 5 $ hg clone -e "\"$PYTHON\" \"$TESTDIR/dummyssh\"" -q ssh://user@dummy/`pwd`/remote local
6 6
7 7 $ check_for_abandoned_transaction() {
8 > [[ -f $TESTTMP/remote/.hg/store/journal ]] && echo "Abandoned transaction!"
8 > [ -f $TESTTMP/remote/.hg/store/journal ] && echo "Abandoned transaction!"
9 9 > }
10 10
11 11 $ pidfile=`pwd`/pidfile
@@ -55,12 +55,7 b' disconnecting. Then exit nonzero, to for'
55 55
56 56 $ cd local
57 57 $ echo foo > foo ; hg commit -qAm "commit"
58 $ hg push -e "\"$PYTHON\" \"$TESTDIR/dummyssh\"" --remotecmd $remotecmd 2>&1 | grep -v $killable_pipe
59 pushing to ssh://user@dummy/$TESTTMP/remote
60 searching for changes
61 remote: adding changesets
62 remote: adding manifests
63 remote: adding file changes
58 $ hg push -q -e "\"$PYTHON\" \"$TESTDIR/dummyssh\"" --remotecmd $remotecmd 2>&1 | grep -v $killable_pipe
64 59 abort: stream ended unexpectedly (got 0 bytes, expected 4)
65 60
66 61 $ check_for_abandoned_transaction
General Comments 0
You need to be logged in to leave comments. Login now