##// END OF EJS Templates
branching: merge stable into default
Raphaël Gomès -
r50367:f59e49f6 merge default
parent child Browse files
Show More
@@ -0,0 +1,12 b''
1 skip ignored directories if -i or --all not specified
2
3 $ hg init t
4 $ cd t
5 $ echo 'ignored' > .hgignore
6 $ hg ci -qA -m init -d'2 0'
7 $ mkdir ignored
8 $ ls
9 ignored
10 $ hg purge -v --no-confirm
11 $ ls
12 ignored
@@ -231,3 +231,5 b' 6b10151b962108f65bfa12b3918b1021ca334f73'
231 231 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
@@ -244,3 +244,5 b' 6b10151b962108f65bfa12b3918b1021ca334f73'
244 244 0cc5f74ff7f0f4ac2427096bddbe102dbc2453ae 6.1.4
245 245 288de6f5d724bba7bf1669e2838f196962bb7528 6.2rc0
246 246 094a5fa3cf52f936e0de3f1e507c818bee5ece6b 6.2
247 f69bffd00abe3a1b94d1032eb2c92e611d16a192 6.2.1
248 b5c8524827d20fe2e0ca8fb1234a0fe35a1a36c7 6.2.2
@@ -59,7 +59,7 b" DEBIAN_ACCOUNT_ID_2 = '136693071363'"
59 59 UBUNTU_ACCOUNT_ID = '099720109477'
60 60
61 61
62 WINDOWS_BASE_IMAGE_NAME = 'Windows_Server-2019-English-Full-Base-*'
62 WINDOWS_BASE_IMAGE_NAME = 'Windows_Server-2022-English-Full-Base-*'
63 63
64 64
65 65 KEY_PAIRS = {
@@ -174,6 +174,23 b" WINDOWS_USER_DATA = r'''"
174 174 net user Administrator "%s"
175 175 wmic useraccount where "name='Administrator'" set PasswordExpires=FALSE
176 176
177 # And set it via EC2Launch so it persists across reboots.
178 $config = & $env:ProgramFiles\Amazon\EC2Launch\EC2Launch.exe get-agent-config --format json | ConvertFrom-Json
179 $config | ConvertTo-Json -Depth 6 | Out-File -encoding UTF8 $env:ProgramData/Amazon/EC2Launch/config/agent-config.yml
180 $setAdminAccount = @"
181 {
182 "task": "setAdminAccount",
183 "inputs": {
184 "password": {
185 "type": "static",
186 "data": "%s"
187 }
188 }
189 }
190 "@
191 $config.config | %%{if($_.stage -eq 'preReady'){$_.tasks += (ConvertFrom-Json -InputObject $setAdminAccount)}}
192 $config | ConvertTo-Json -Depth 6 | Out-File -encoding UTF8 $env:ProgramData/Amazon/EC2Launch/config/agent-config.yml
193
177 194 # First, make sure WinRM can't be connected to
178 195 netsh advfirewall firewall set rule name="Windows Remote Management (HTTP-In)" new enable=yes action=block
179 196
@@ -752,7 +769,7 b' def create_temp_windows_ec2_instances('
752 769 )
753 770
754 771 if bootstrap:
755 config['UserData'] = WINDOWS_USER_DATA % password
772 config['UserData'] = WINDOWS_USER_DATA % (password, password)
756 773
757 774 with temporary_ec2_instances(c.ec2resource, config) as instances:
758 775 wait_for_ip_addresses(instances)
@@ -1173,28 +1190,16 b' def ensure_windows_dev_ami('
1173 1190 with INSTALL_WINDOWS_DEPENDENCIES.open('r', encoding='utf-8') as fh:
1174 1191 commands.extend(l.rstrip() for l in fh)
1175 1192
1176 # Schedule run of EC2Launch on next boot. This ensures that UserData
1177 # is executed.
1178 # We disable setComputerName because it forces a reboot.
1179 # We set an explicit admin password because this causes UserData to run
1180 # as Administrator instead of System.
1181 commands.extend(
1182 [
1183 r'''Set-Content -Path C:\ProgramData\Amazon\EC2-Windows\Launch\Config\LaunchConfig.json '''
1184 r'''-Value '{"setComputerName": false, "setWallpaper": true, "addDnsSuffixList": true, '''
1185 r'''"extendBootVolumeSize": true, "handleUserData": true, '''
1186 r'''"adminPasswordType": "Specify", "adminPassword": "%s"}' '''
1187 % c.automation.default_password(),
1188 r'C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeInstance.ps1 '
1189 r'–Schedule',
1190 ]
1191 )
1192
1193 1193 # Disable Windows Defender when bootstrapping because it just slows
1194 1194 # things down.
1195 1195 commands.insert(0, 'Set-MpPreference -DisableRealtimeMonitoring $true')
1196 1196 commands.append('Set-MpPreference -DisableRealtimeMonitoring $false')
1197 1197
1198 # Trigger shutdown to prepare for imaging.
1199 commands.append(
1200 'Stop-Computer -ComputerName localhost',
1201 )
1202
1198 1203 # Compute a deterministic fingerprint to determine whether image needs
1199 1204 # to be regenerated.
1200 1205 fingerprint = resolve_fingerprint(
@@ -45,6 +45,7 b' Write-Output "updated Mercurial working '
45 45 '''.lstrip()
46 46
47 47 BUILD_INNO_PYTHON3 = r'''
48 $Env:PATH = "C:\hgdev\venv-bootstrap\Scripts;$Env:PATH"
48 49 $Env:RUSTUP_HOME = "C:\hgdev\rustup"
49 50 $Env:CARGO_HOME = "C:\hgdev\cargo"
50 51 Set-Location C:\hgdev\src
@@ -56,6 +57,7 b' if ($LASTEXITCODE -ne 0) {{'
56 57
57 58
58 59 BUILD_WHEEL = r'''
60 $Env:PATH = "C:\hgdev\venv-bootstrap\Scripts;$Env:PATH"
59 61 Set-Location C:\hgdev\src
60 62 C:\hgdev\python{python_version}-{arch}\python.exe -m pip wheel --wheel-dir dist .
61 63 if ($LASTEXITCODE -ne 0) {{
@@ -64,6 +66,7 b' if ($LASTEXITCODE -ne 0) {{'
64 66 '''
65 67
66 68 BUILD_WIX_PYTHON3 = r'''
69 $Env:PATH = "C:\hgdev\venv-bootstrap\Scripts;$Env:PATH"
67 70 $Env:RUSTUP_HOME = "C:\hgdev\rustup"
68 71 $Env:CARGO_HOME = "C:\hgdev\cargo"
69 72 Set-Location C:\hgdev\src
@@ -1,193 +1,267 b''
1 1 #
2 # This file is autogenerated by pip-compile
2 # This file is autogenerated by pip-compile with python 3.10
3 3 # To update, run:
4 4 #
5 5 # pip-compile --generate-hashes --output-file=contrib/automation/requirements.txt contrib/automation/requirements.txt.in
6 6 #
7 asn1crypto==1.0.1 \
8 --hash=sha256:0b199f211ae690df3db4fd6c1c4ff976497fb1da689193e368eedbadc53d9292 \
9 --hash=sha256:bca90060bd995c3f62c4433168eab407e44bdbdb567b3f3a396a676c1a4c4a3f \
10 # via cryptography
11 bcrypt==3.1.7 \
12 --hash=sha256:0258f143f3de96b7c14f762c770f5fc56ccd72f8a1857a451c1cd9a655d9ac89 \
13 --hash=sha256:0b0069c752ec14172c5f78208f1863d7ad6755a6fae6fe76ec2c80d13be41e42 \
14 --hash=sha256:19a4b72a6ae5bb467fea018b825f0a7d917789bcfe893e53f15c92805d187294 \
15 --hash=sha256:5432dd7b34107ae8ed6c10a71b4397f1c853bd39a4d6ffa7e35f40584cffd161 \
16 --hash=sha256:69361315039878c0680be456640f8705d76cb4a3a3fe1e057e0f261b74be4b31 \
17 --hash=sha256:6fe49a60b25b584e2f4ef175b29d3a83ba63b3a4df1b4c0605b826668d1b6be5 \
18 --hash=sha256:74a015102e877d0ccd02cdeaa18b32aa7273746914a6c5d0456dd442cb65b99c \
19 --hash=sha256:763669a367869786bb4c8fcf731f4175775a5b43f070f50f46f0b59da45375d0 \
20 --hash=sha256:8b10acde4e1919d6015e1df86d4c217d3b5b01bb7744c36113ea43d529e1c3de \
21 --hash=sha256:9fe92406c857409b70a38729dbdf6578caf9228de0aef5bc44f859ffe971a39e \
22 --hash=sha256:a190f2a5dbbdbff4b74e3103cef44344bc30e61255beb27310e2aec407766052 \
23 --hash=sha256:a595c12c618119255c90deb4b046e1ca3bcfad64667c43d1166f2b04bc72db09 \
24 --hash=sha256:c9457fa5c121e94a58d6505cadca8bed1c64444b83b3204928a866ca2e599105 \
25 --hash=sha256:cb93f6b2ab0f6853550b74e051d297c27a638719753eb9ff66d1e4072be67133 \
26 --hash=sha256:d7bdc26475679dd073ba0ed2766445bb5b20ca4793ca0db32b399dccc6bc84b7 \
27 --hash=sha256:ff032765bb8716d9387fd5376d987a937254b0619eff0972779515b5c98820bc \
7 bcrypt==3.2.2 \
8 --hash=sha256:2b02d6bfc6336d1094276f3f588aa1225a598e27f8e3388f4db9948cb707b521 \
9 --hash=sha256:433c410c2177057705da2a9f2cd01dd157493b2a7ac14c8593a16b3dab6b6bfb \
10 --hash=sha256:4e029cef560967fb0cf4a802bcf4d562d3d6b4b1bf81de5ec1abbe0f1adb027e \
11 --hash=sha256:61bae49580dce88095d669226d5076d0b9d927754cedbdf76c6c9f5099ad6f26 \
12 --hash=sha256:6d2cb9d969bfca5bc08e45864137276e4c3d3d7de2b162171def3d188bf9d34a \
13 --hash=sha256:7180d98a96f00b1050e93f5b0f556e658605dd9f524d0b0e68ae7944673f525e \
14 --hash=sha256:7d9ba2e41e330d2af4af6b1b6ec9e6128e91343d0b4afb9282e54e5508f31baa \
15 --hash=sha256:7ff2069240c6bbe49109fe84ca80508773a904f5a8cb960e02a977f7f519b129 \
16 --hash=sha256:88273d806ab3a50d06bc6a2fc7c87d737dd669b76ad955f449c43095389bc8fb \
17 --hash=sha256:a2c46100e315c3a5b90fdc53e429c006c5f962529bc27e1dfd656292c20ccc40 \
18 --hash=sha256:cd43303d6b8a165c29ec6756afd169faba9396a9472cdff753fe9f19b96ce2fa
28 19 # via paramiko
29 bleach==3.1.0 \
30 --hash=sha256:213336e49e102af26d9cde77dd2d0397afabc5a6bf2fed985dc35b5d1e285a16 \
31 --hash=sha256:3fdf7f77adcf649c9911387df51254b813185e32b2c6619f690b593a617e19fa \
20 bleach==5.0.0 \
21 --hash=sha256:08a1fe86d253b5c88c92cc3d810fd8048a16d15762e1e5b74d502256e5926aa1 \
22 --hash=sha256:c6d6cc054bdc9c83b48b8083e236e5f00f238428666d2ce2e083eaa5fd568565
32 23 # via readme-renderer
33 boto3==1.9.243 \
34 --hash=sha256:404acbecef8f4912f18312fcfaffe7eba7f10b3b7adf7853bdba59cdf2275ebb \
35 --hash=sha256:c6e5a7e4548ce7586c354ff633f2a66ba3c471d15a8ae6a30f873122ab04e1cf
36 botocore==1.12.243 \
37 --hash=sha256:397585a7881230274afb8d1877ef69a661b0a311745cd324f14a052fb2a2863a \
38 --hash=sha256:4496f8da89cb496462a831897ad248e13e431d9fa7e41e06d426fd6658ab6e59 \
39 # via boto3, s3transfer
40 certifi==2021.5.30 \
41 --hash=sha256:2bbf76fd432960138b3ef6dda3dde0544f27cbf8546c458e60baf371917ba9ee \
42 --hash=sha256:50b1e4f8446b06f41be7dd6338db18e0990601dce795c2b1686458aa7e8fa7d8 \
24 boto3==1.22.7 \
25 --hash=sha256:4dc0df36c3465ff0d586017da68b0152123695f38f30ad98fed7185e59298d2c \
26 --hash=sha256:de4fa49ca1cbc93313144e93e6d0997cbb61c8cca91f3418b4e3646dc215f441
27 # via -r contrib/automation/requirements.txt.in
28 botocore==1.25.7 \
29 --hash=sha256:190361776d96323ff401b976175f76172acf7ebbe3efbb19c4c6f9800a9ad6b6 \
30 --hash=sha256:83da857c12fff5cf4c1a64afaa72a28ff5bef929a2834ec4ed5b0b674f88fd0e
31 # via
32 # boto3
33 # s3transfer
34 certifi==2021.10.8 \
35 --hash=sha256:78884e7c1d4b00ce3cea67b44566851c4343c120abd683433ce934a68ea58872 \
36 --hash=sha256:d62a0163eb4c2344ac042ab2bdf75399a71a2d8c7d47eac2e2ee91b9d6339569
43 37 # via requests
44 cffi==1.12.3 \
45 --hash=sha256:041c81822e9f84b1d9c401182e174996f0bae9991f33725d059b771744290774 \
46 --hash=sha256:046ef9a22f5d3eed06334d01b1e836977eeef500d9b78e9ef693f9380ad0b83d \
47 --hash=sha256:066bc4c7895c91812eff46f4b1c285220947d4aa46fa0a2651ff85f2afae9c90 \
48 --hash=sha256:066c7ff148ae33040c01058662d6752fd73fbc8e64787229ea8498c7d7f4041b \
49 --hash=sha256:2444d0c61f03dcd26dbf7600cf64354376ee579acad77aef459e34efcb438c63 \
50 --hash=sha256:300832850b8f7967e278870c5d51e3819b9aad8f0a2c8dbe39ab11f119237f45 \
51 --hash=sha256:34c77afe85b6b9e967bd8154e3855e847b70ca42043db6ad17f26899a3df1b25 \
52 --hash=sha256:46de5fa00f7ac09f020729148ff632819649b3e05a007d286242c4882f7b1dc3 \
53 --hash=sha256:4aa8ee7ba27c472d429b980c51e714a24f47ca296d53f4d7868075b175866f4b \
54 --hash=sha256:4d0004eb4351e35ed950c14c11e734182591465a33e960a4ab5e8d4f04d72647 \
55 --hash=sha256:4e3d3f31a1e202b0f5a35ba3bc4eb41e2fc2b11c1eff38b362de710bcffb5016 \
56 --hash=sha256:50bec6d35e6b1aaeb17f7c4e2b9374ebf95a8975d57863546fa83e8d31bdb8c4 \
57 --hash=sha256:55cad9a6df1e2a1d62063f79d0881a414a906a6962bc160ac968cc03ed3efcfb \
58 --hash=sha256:5662ad4e4e84f1eaa8efce5da695c5d2e229c563f9d5ce5b0113f71321bcf753 \
59 --hash=sha256:59b4dc008f98fc6ee2bb4fd7fc786a8d70000d058c2bbe2698275bc53a8d3fa7 \
60 --hash=sha256:73e1ffefe05e4ccd7bcea61af76f36077b914f92b76f95ccf00b0c1b9186f3f9 \
61 --hash=sha256:a1f0fd46eba2d71ce1589f7e50a9e2ffaeb739fb2c11e8192aa2b45d5f6cc41f \
62 --hash=sha256:a2e85dc204556657661051ff4bab75a84e968669765c8a2cd425918699c3d0e8 \
63 --hash=sha256:a5457d47dfff24882a21492e5815f891c0ca35fefae8aa742c6c263dac16ef1f \
64 --hash=sha256:a8dccd61d52a8dae4a825cdbb7735da530179fea472903eb871a5513b5abbfdc \
65 --hash=sha256:ae61af521ed676cf16ae94f30fe202781a38d7178b6b4ab622e4eec8cefaff42 \
66 --hash=sha256:b012a5edb48288f77a63dba0840c92d0504aa215612da4541b7b42d849bc83a3 \
67 --hash=sha256:d2c5cfa536227f57f97c92ac30c8109688ace8fa4ac086d19d0af47d134e2909 \
68 --hash=sha256:d42b5796e20aacc9d15e66befb7a345454eef794fdb0737d1af593447c6c8f45 \
69 --hash=sha256:dee54f5d30d775f525894d67b1495625dd9322945e7fee00731952e0368ff42d \
70 --hash=sha256:e070535507bd6aa07124258171be2ee8dfc19119c28ca94c9dfb7efd23564512 \
71 --hash=sha256:e1ff2748c84d97b065cc95429814cdba39bcbd77c9c85c89344b317dc0d9cbff \
72 --hash=sha256:ed851c75d1e0e043cbf5ca9a8e1b13c4c90f3fbd863dacb01c0808e2b5204201 \
73 # via bcrypt, cryptography, pynacl
74 chardet==3.0.4 \
75 --hash=sha256:84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae \
76 --hash=sha256:fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691 \
38 cffi==1.15.0 \
39 --hash=sha256:00c878c90cb53ccfaae6b8bc18ad05d2036553e6d9d1d9dbcf323bbe83854ca3 \
40 --hash=sha256:0104fb5ae2391d46a4cb082abdd5c69ea4eab79d8d44eaaf79f1b1fd806ee4c2 \
41 --hash=sha256:06c48159c1abed75c2e721b1715c379fa3200c7784271b3c46df01383b593636 \
42 --hash=sha256:0808014eb713677ec1292301ea4c81ad277b6cdf2fdd90fd540af98c0b101d20 \
43 --hash=sha256:10dffb601ccfb65262a27233ac273d552ddc4d8ae1bf93b21c94b8511bffe728 \
44 --hash=sha256:14cd121ea63ecdae71efa69c15c5543a4b5fbcd0bbe2aad864baca0063cecf27 \
45 --hash=sha256:17771976e82e9f94976180f76468546834d22a7cc404b17c22df2a2c81db0c66 \
46 --hash=sha256:181dee03b1170ff1969489acf1c26533710231c58f95534e3edac87fff06c443 \
47 --hash=sha256:23cfe892bd5dd8941608f93348c0737e369e51c100d03718f108bf1add7bd6d0 \
48 --hash=sha256:263cc3d821c4ab2213cbe8cd8b355a7f72a8324577dc865ef98487c1aeee2bc7 \
49 --hash=sha256:2756c88cbb94231c7a147402476be2c4df2f6078099a6f4a480d239a8817ae39 \
50 --hash=sha256:27c219baf94952ae9d50ec19651a687b826792055353d07648a5695413e0c605 \
51 --hash=sha256:2a23af14f408d53d5e6cd4e3d9a24ff9e05906ad574822a10563efcef137979a \
52 --hash=sha256:31fb708d9d7c3f49a60f04cf5b119aeefe5644daba1cd2a0fe389b674fd1de37 \
53 --hash=sha256:3415c89f9204ee60cd09b235810be700e993e343a408693e80ce7f6a40108029 \
54 --hash=sha256:3773c4d81e6e818df2efbc7dd77325ca0dcb688116050fb2b3011218eda36139 \
55 --hash=sha256:3b96a311ac60a3f6be21d2572e46ce67f09abcf4d09344c49274eb9e0bf345fc \
56 --hash=sha256:3f7d084648d77af029acb79a0ff49a0ad7e9d09057a9bf46596dac9514dc07df \
57 --hash=sha256:41d45de54cd277a7878919867c0f08b0cf817605e4eb94093e7516505d3c8d14 \
58 --hash=sha256:4238e6dab5d6a8ba812de994bbb0a79bddbdf80994e4ce802b6f6f3142fcc880 \
59 --hash=sha256:45db3a33139e9c8f7c09234b5784a5e33d31fd6907800b316decad50af323ff2 \
60 --hash=sha256:45e8636704eacc432a206ac7345a5d3d2c62d95a507ec70d62f23cd91770482a \
61 --hash=sha256:4958391dbd6249d7ad855b9ca88fae690783a6be9e86df65865058ed81fc860e \
62 --hash=sha256:4a306fa632e8f0928956a41fa8e1d6243c71e7eb59ffbd165fc0b41e316b2474 \
63 --hash=sha256:57e9ac9ccc3101fac9d6014fba037473e4358ef4e89f8e181f8951a2c0162024 \
64 --hash=sha256:59888172256cac5629e60e72e86598027aca6bf01fa2465bdb676d37636573e8 \
65 --hash=sha256:5e069f72d497312b24fcc02073d70cb989045d1c91cbd53979366077959933e0 \
66 --hash=sha256:64d4ec9f448dfe041705426000cc13e34e6e5bb13736e9fd62e34a0b0c41566e \
67 --hash=sha256:6dc2737a3674b3e344847c8686cf29e500584ccad76204efea14f451d4cc669a \
68 --hash=sha256:74fdfdbfdc48d3f47148976f49fab3251e550a8720bebc99bf1483f5bfb5db3e \
69 --hash=sha256:75e4024375654472cc27e91cbe9eaa08567f7fbdf822638be2814ce059f58032 \
70 --hash=sha256:786902fb9ba7433aae840e0ed609f45c7bcd4e225ebb9c753aa39725bb3e6ad6 \
71 --hash=sha256:8b6c2ea03845c9f501ed1313e78de148cd3f6cad741a75d43a29b43da27f2e1e \
72 --hash=sha256:91d77d2a782be4274da750752bb1650a97bfd8f291022b379bb8e01c66b4e96b \
73 --hash=sha256:91ec59c33514b7c7559a6acda53bbfe1b283949c34fe7440bcf917f96ac0723e \
74 --hash=sha256:920f0d66a896c2d99f0adbb391f990a84091179542c205fa53ce5787aff87954 \
75 --hash=sha256:a5263e363c27b653a90078143adb3d076c1a748ec9ecc78ea2fb916f9b861962 \
76 --hash=sha256:abb9a20a72ac4e0fdb50dae135ba5e77880518e742077ced47eb1499e29a443c \
77 --hash=sha256:c2051981a968d7de9dd2d7b87bcb9c939c74a34626a6e2f8181455dd49ed69e4 \
78 --hash=sha256:c21c9e3896c23007803a875460fb786118f0cdd4434359577ea25eb556e34c55 \
79 --hash=sha256:c2502a1a03b6312837279c8c1bd3ebedf6c12c4228ddbad40912d671ccc8a962 \
80 --hash=sha256:d4d692a89c5cf08a8557fdeb329b82e7bf609aadfaed6c0d79f5a449a3c7c023 \
81 --hash=sha256:da5db4e883f1ce37f55c667e5c0de439df76ac4cb55964655906306918e7363c \
82 --hash=sha256:e7022a66d9b55e93e1a845d8c9eba2a1bebd4966cd8bfc25d9cd07d515b33fa6 \
83 --hash=sha256:ef1f279350da2c586a69d32fc8733092fd32cc8ac95139a00377841f59a3f8d8 \
84 --hash=sha256:f54a64f8b0c8ff0b64d18aa76675262e1700f3995182267998c31ae974fbc382 \
85 --hash=sha256:f5c7150ad32ba43a07c4479f40241756145a1f03b43480e058cfd862bf5041c7 \
86 --hash=sha256:f6f824dc3bce0edab5f427efcfb1d63ee75b6fcb7282900ccaf925be84efb0fc \
87 --hash=sha256:fd8a250edc26254fe5b33be00402e6d287f562b6a5b2152dec302fa15bb3e997 \
88 --hash=sha256:ffaa5c925128e29efbde7301d8ecaf35c8c60ffbcd6a1ffd3a552177c8e5e796
89 # via
90 # bcrypt
91 # cryptography
92 # pynacl
93 charset-normalizer==2.0.12 \
94 --hash=sha256:2857e29ff0d34db842cd7ca3230549d1a697f96ee6d3fb071cfa6c7393832597 \
95 --hash=sha256:6881edbebdb17b39b4eaaa821b438bf6eddffb4468cf344f09f89def34a8b1df
77 96 # via requests
78 cryptography==2.7 \
79 --hash=sha256:24b61e5fcb506424d3ec4e18bca995833839bf13c59fc43e530e488f28d46b8c \
80 --hash=sha256:25dd1581a183e9e7a806fe0543f485103232f940fcfc301db65e630512cce643 \
81 --hash=sha256:3452bba7c21c69f2df772762be0066c7ed5dc65df494a1d53a58b683a83e1216 \
82 --hash=sha256:41a0be220dd1ed9e998f5891948306eb8c812b512dc398e5a01846d855050799 \
83 --hash=sha256:5751d8a11b956fbfa314f6553d186b94aa70fdb03d8a4d4f1c82dcacf0cbe28a \
84 --hash=sha256:5f61c7d749048fa6e3322258b4263463bfccefecb0dd731b6561cb617a1d9bb9 \
85 --hash=sha256:72e24c521fa2106f19623a3851e9f89ddfdeb9ac63871c7643790f872a305dfc \
86 --hash=sha256:7b97ae6ef5cba2e3bb14256625423413d5ce8d1abb91d4f29b6d1a081da765f8 \
87 --hash=sha256:961e886d8a3590fd2c723cf07be14e2a91cf53c25f02435c04d39e90780e3b53 \
88 --hash=sha256:96d8473848e984184b6728e2c9d391482008646276c3ff084a1bd89e15ff53a1 \
89 --hash=sha256:ae536da50c7ad1e002c3eee101871d93abdc90d9c5f651818450a0d3af718609 \
90 --hash=sha256:b0db0cecf396033abb4a93c95d1602f268b3a68bb0a9cc06a7cff587bb9a7292 \
91 --hash=sha256:cfee9164954c186b191b91d4193989ca994703b2fff406f71cf454a2d3c7327e \
92 --hash=sha256:e6347742ac8f35ded4a46ff835c60e68c22a536a8ae5c4422966d06946b6d4c6 \
93 --hash=sha256:f27d93f0139a3c056172ebb5d4f9056e770fdf0206c2f422ff2ebbad142e09ed \
94 --hash=sha256:f57b76e46a58b63d1c6375017f4564a28f19a5ca912691fd2e4261b3414b618d \
95 # via paramiko, pypsrp
96 docutils==0.15.2 \
97 --hash=sha256:6c4f696463b79f1fb8ba0c594b63840ebd41f059e92b31957c46b74a4599b6d0 \
98 --hash=sha256:9e4d7ecfc600058e07ba661411a2b7de2fd0fafa17d1a7f7361cd47b1175c827 \
99 --hash=sha256:a2aeea129088da402665e92e0b25b04b073c04b2dce4ab65caaa38b7ce2e1a99 \
100 # via botocore, readme-renderer
101 idna==2.8 \
102 --hash=sha256:c357b3f628cf53ae2c4c05627ecc484553142ca23264e593d327bcde5e9c3407 \
103 --hash=sha256:ea8b7f6188e6fa117537c3df7da9fc686d485087abf6ac197f9c46432f7e4a3c \
97 commonmark==0.9.1 \
98 --hash=sha256:452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60 \
99 --hash=sha256:da2f38c92590f83de410ba1a3cbceafbc74fee9def35f9251ba9a971d6d66fd9
100 # via rich
101 cryptography==37.0.2 \
102 --hash=sha256:093cb351031656d3ee2f4fa1be579a8c69c754cf874206be1d4cf3b542042804 \
103 --hash=sha256:0cc20f655157d4cfc7bada909dc5cc228211b075ba8407c46467f63597c78178 \
104 --hash=sha256:1b9362d34363f2c71b7853f6251219298124aa4cc2075ae2932e64c91a3e2717 \
105 --hash=sha256:1f3bfbd611db5cb58ca82f3deb35e83af34bb8cf06043fa61500157d50a70982 \
106 --hash=sha256:2bd1096476aaac820426239ab534b636c77d71af66c547b9ddcd76eb9c79e004 \
107 --hash=sha256:31fe38d14d2e5f787e0aecef831457da6cec68e0bb09a35835b0b44ae8b988fe \
108 --hash=sha256:3b8398b3d0efc420e777c40c16764d6870bcef2eb383df9c6dbb9ffe12c64452 \
109 --hash=sha256:3c81599befb4d4f3d7648ed3217e00d21a9341a9a688ecdd615ff72ffbed7336 \
110 --hash=sha256:419c57d7b63f5ec38b1199a9521d77d7d1754eb97827bbb773162073ccd8c8d4 \
111 --hash=sha256:46f4c544f6557a2fefa7ac8ac7d1b17bf9b647bd20b16decc8fbcab7117fbc15 \
112 --hash=sha256:471e0d70201c069f74c837983189949aa0d24bb2d751b57e26e3761f2f782b8d \
113 --hash=sha256:59b281eab51e1b6b6afa525af2bd93c16d49358404f814fe2c2410058623928c \
114 --hash=sha256:731c8abd27693323b348518ed0e0705713a36d79fdbd969ad968fbef0979a7e0 \
115 --hash=sha256:95e590dd70642eb2079d280420a888190aa040ad20f19ec8c6e097e38aa29e06 \
116 --hash=sha256:a68254dd88021f24a68b613d8c51d5c5e74d735878b9e32cc0adf19d1f10aaf9 \
117 --hash=sha256:a7d5137e556cc0ea418dca6186deabe9129cee318618eb1ffecbd35bee55ddc1 \
118 --hash=sha256:aeaba7b5e756ea52c8861c133c596afe93dd716cbcacae23b80bc238202dc023 \
119 --hash=sha256:dc26bb134452081859aa21d4990474ddb7e863aa39e60d1592800a8865a702de \
120 --hash=sha256:e53258e69874a306fcecb88b7534d61820db8a98655662a3dd2ec7f1afd9132f \
121 --hash=sha256:ef15c2df7656763b4ff20a9bc4381d8352e6640cfeb95c2972c38ef508e75181 \
122 --hash=sha256:f224ad253cc9cea7568f49077007d2263efa57396a2f2f78114066fd54b5c68e \
123 --hash=sha256:f8ec91983e638a9bcd75b39f1396e5c0dc2330cbd9ce4accefe68717e6779e0a
124 # via
125 # paramiko
126 # pypsrp
127 # pyspnego
128 # secretstorage
129 docutils==0.18.1 \
130 --hash=sha256:23010f129180089fbcd3bc08cfefccb3b890b0050e1ca00c867036e9d161b98c \
131 --hash=sha256:679987caf361a7539d76e584cbeddc311e3aee937877c87346f31debc63e9d06
132 # via readme-renderer
133 idna==3.3 \
134 --hash=sha256:84d9dd047ffa80596e0f246e2eab0b391788b0503584e8945f2368256d2735ff \
135 --hash=sha256:9d643ff0a55b762d5cdb124b8eaa99c66322e2157b69160bc32796e824360e6d
104 136 # via requests
105 jmespath==0.9.4 \
106 --hash=sha256:3720a4b1bd659dd2eecad0666459b9788813e032b83e7ba58578e48254e0a0e6 \
107 --hash=sha256:bde2aef6f44302dfb30320115b17d030798de8c4110e28d5cf6cf91a7a31074c \
108 # via boto3, botocore
109 ntlm-auth==1.4.0 \
110 --hash=sha256:11f7a3cec38155b7cecdd9bbc8c37cd738d8012f0523b3f98d8caefe394feb97 \
111 --hash=sha256:350f2389c8ee5517f47db55a36ac2f8efc9742a60a678d6e2caa92385bdcaa9a \
137 importlib-metadata==4.11.3 \
138 --hash=sha256:1208431ca90a8cca1a6b8af391bb53c1a2db74e5d1cef6ddced95d4b2062edc6 \
139 --hash=sha256:ea4c597ebf37142f827b8f39299579e31685c31d3a438b59f469406afd0f2539
140 # via
141 # keyring
142 # twine
143 jeepney==0.8.0 \
144 --hash=sha256:5efe48d255973902f6badc3ce55e2aa6c5c3b3bc642059ef3a91247bcfcc5806 \
145 --hash=sha256:c0a454ad016ca575060802ee4d590dd912e35c122fa04e70306de3d076cce755
146 # via
147 # keyring
148 # secretstorage
149 jmespath==1.0.0 \
150 --hash=sha256:a490e280edd1f57d6de88636992d05b71e97d69a26a19f058ecf7d304474bf5e \
151 --hash=sha256:e8dcd576ed616f14ec02eed0005c85973b5890083313860136657e24784e4c04
152 # via
153 # boto3
154 # botocore
155 keyring==23.5.0 \
156 --hash=sha256:9012508e141a80bd1c0b6778d5c610dd9f8c464d75ac6774248500503f972fb9 \
157 --hash=sha256:b0d28928ac3ec8e42ef4cc227822647a19f1d544f21f96457965dc01cf555261
158 # via twine
159 paramiko==2.10.4 \
160 --hash=sha256:3c9ed6084f4b671ab66dc3c729092d32d96c3258f1426071301cb33654b09027 \
161 --hash=sha256:3d2e650b6812ce6d160abff701d6ef4434ec97934b13e95cf1ad3da70ffb5c58
162 # via -r contrib/automation/requirements.txt.in
163 pkginfo==1.8.2 \
164 --hash=sha256:542e0d0b6750e2e21c20179803e40ab50598d8066d51097a0e382cba9eb02bff \
165 --hash=sha256:c24c487c6a7f72c66e816ab1796b96ac6c3d14d49338293d2141664330b55ffc
166 # via twine
167 pycparser==2.21 \
168 --hash=sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9 \
169 --hash=sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206
170 # via cffi
171 pygments==2.12.0 \
172 --hash=sha256:5eb116118f9612ff1ee89ac96437bb6b49e8f04d8a13b514ba26f620208e26eb \
173 --hash=sha256:dc9c10fb40944260f6ed4c688ece0cd2048414940f1cea51b8b226318411c519
174 # via
175 # readme-renderer
176 # rich
177 pynacl==1.5.0 \
178 --hash=sha256:06b8f6fa7f5de8d5d2f7573fe8c863c051225a27b61e6860fd047b1775807858 \
179 --hash=sha256:0c84947a22519e013607c9be43706dd42513f9e6ae5d39d3613ca1e142fba44d \
180 --hash=sha256:20f42270d27e1b6a29f54032090b972d97f0a1b0948cc52392041ef7831fee93 \
181 --hash=sha256:401002a4aaa07c9414132aaed7f6836ff98f59277a234704ff66878c2ee4a0d1 \
182 --hash=sha256:52cb72a79269189d4e0dc537556f4740f7f0a9ec41c1322598799b0bdad4ef92 \
183 --hash=sha256:61f642bf2378713e2c2e1de73444a3778e5f0a38be6fee0fe532fe30060282ff \
184 --hash=sha256:8ac7448f09ab85811607bdd21ec2464495ac8b7c66d146bf545b0f08fb9220ba \
185 --hash=sha256:a36d4a9dda1f19ce6e03c9a784a2921a4b726b02e1c736600ca9c22029474394 \
186 --hash=sha256:a422368fc821589c228f4c49438a368831cb5bbc0eab5ebe1d7fac9dded6567b \
187 --hash=sha256:e46dae94e34b085175f8abb3b0aaa7da40767865ac82c928eeb9e57e1ea8a543
188 # via paramiko
189 pypsrp==0.8.1 \
190 --hash=sha256:0101345ceb415896fed9b056e7b77d65312089ddc73c4286247ccf1859d4bc4d \
191 --hash=sha256:f5500acd11dfe742d51b7fbb61321ba721038a300d67763dc52babe709db65e7
192 # via -r contrib/automation/requirements.txt.in
193 pyspnego==0.5.2 \
194 --hash=sha256:1fed228edc4b1730844da8237b90489be28c55681cf3934cd04fceb2253e55bf \
195 --hash=sha256:25fbc90fc6bd16881480316739bab820cc91364765e46340da17f861f89691f1 \
196 --hash=sha256:274b3a2d37e45ad4567bc5754be04b5fefad3f7cdea7d205f739d8a26b5a9189 \
197 --hash=sha256:36db7ec38023a23a545114dfd23825639571f135c72fb4b13a1ed559a0a4d93c \
198 --hash=sha256:3b1ff3c1d5588b66f8e4ebafa3079a7bf0bdcc6fb144b944c5a101e688a5a280 \
199 --hash=sha256:4b9bda51bd964f40322aa1b33dcfc5d68f23b0680b4b5158175f2e9a04119aa9 \
200 --hash=sha256:5d6d91e35ee63a5de30eb70716bf25274bf16c2c472b046dd21fad60fe63b0b6 \
201 --hash=sha256:7562bc640bf402bb2849f325b0bb41260bd2c0cb06e38b9a8c6f7021b452c873 \
202 --hash=sha256:9c5bdb9f0207e2ce9e5410ee2205bf016755712018534c711ae6c1daff7fa7db \
203 --hash=sha256:a5c135d20819db3c48f65054d648317f369a61b7b22dc17b9e5ec9c0169541a0 \
204 --hash=sha256:bd95633e7dce69e267579bdbe992fc081a14310236b4e84c3d179b1cf6439ca5 \
205 --hash=sha256:eb41b970dbda0dfe07b1da6fc83fe9f534a66d8dea38c06c0155377697407d9a
112 206 # via pypsrp
113 paramiko==2.6.0 \
114 --hash=sha256:99f0179bdc176281d21961a003ffdb2ec369daac1a1007241f53374e376576cf \
115 --hash=sha256:f4b2edfa0d226b70bd4ca31ea7e389325990283da23465d572ed1f70a7583041
116 pkginfo==1.5.0.1 \
117 --hash=sha256:7424f2c8511c186cd5424bbf31045b77435b37a8d604990b79d4e70d741148bb \
118 --hash=sha256:a6d9e40ca61ad3ebd0b72fbadd4fba16e4c0e4df0428c041e01e06eb6ee71f32 \
207 python-dateutil==2.8.2 \
208 --hash=sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86 \
209 --hash=sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9
210 # via botocore
211 readme-renderer==35.0 \
212 --hash=sha256:73b84905d091c31f36e50b4ae05ae2acead661f6a09a9abb4df7d2ddcdb6a698 \
213 --hash=sha256:a727999acfc222fc21d82a12ed48c957c4989785e5865807c65a487d21677497
119 214 # via twine
120 pycparser==2.19 \
121 --hash=sha256:a988718abfad80b6b157acce7bf130a30876d27603738ac39f140993246b25b3 \
122 # via cffi
123 pygments==2.4.2 \
124 --hash=sha256:71e430bc85c88a430f000ac1d9b331d2407f681d6f6aec95e8bcfbc3df5b0127 \
125 --hash=sha256:881c4c157e45f30af185c1ffe8d549d48ac9127433f2c380c24b84572ad66297 \
126 # via readme-renderer
127 pynacl==1.3.0 \
128 --hash=sha256:05c26f93964373fc0abe332676cb6735f0ecad27711035b9472751faa8521255 \
129 --hash=sha256:0c6100edd16fefd1557da078c7a31e7b7d7a52ce39fdca2bec29d4f7b6e7600c \
130 --hash=sha256:0d0a8171a68edf51add1e73d2159c4bc19fc0718e79dec51166e940856c2f28e \
131 --hash=sha256:1c780712b206317a746ace34c209b8c29dbfd841dfbc02aa27f2084dd3db77ae \
132 --hash=sha256:2424c8b9f41aa65bbdbd7a64e73a7450ebb4aa9ddedc6a081e7afcc4c97f7621 \
133 --hash=sha256:2d23c04e8d709444220557ae48ed01f3f1086439f12dbf11976e849a4926db56 \
134 --hash=sha256:30f36a9c70450c7878053fa1344aca0145fd47d845270b43a7ee9192a051bf39 \
135 --hash=sha256:37aa336a317209f1bb099ad177fef0da45be36a2aa664507c5d72015f956c310 \
136 --hash=sha256:4943decfc5b905748f0756fdd99d4f9498d7064815c4cf3643820c9028b711d1 \
137 --hash=sha256:57ef38a65056e7800859e5ba9e6091053cd06e1038983016effaffe0efcd594a \
138 --hash=sha256:5bd61e9b44c543016ce1f6aef48606280e45f892a928ca7068fba30021e9b786 \
139 --hash=sha256:6482d3017a0c0327a49dddc8bd1074cc730d45db2ccb09c3bac1f8f32d1eb61b \
140 --hash=sha256:7d3ce02c0784b7cbcc771a2da6ea51f87e8716004512493a2b69016326301c3b \
141 --hash=sha256:a14e499c0f5955dcc3991f785f3f8e2130ed504fa3a7f44009ff458ad6bdd17f \
142 --hash=sha256:a39f54ccbcd2757d1d63b0ec00a00980c0b382c62865b61a505163943624ab20 \
143 --hash=sha256:aabb0c5232910a20eec8563503c153a8e78bbf5459490c49ab31f6adf3f3a415 \
144 --hash=sha256:bd4ecb473a96ad0f90c20acba4f0bf0df91a4e03a1f4dd6a4bdc9ca75aa3a715 \
145 --hash=sha256:e2da3c13307eac601f3de04887624939aca8ee3c9488a0bb0eca4fb9401fc6b1 \
146 --hash=sha256:f67814c38162f4deb31f68d590771a29d5ae3b1bd64b75cf232308e5c74777e0 \
147 # via paramiko
148 pypsrp==0.4.0 \
149 --hash=sha256:64b5bdd725a9744c821483b05ecd266f6417f4c6e90ee961a08838480f7d025e \
150 --hash=sha256:f42919247fb80f7dc24c552560d7c24e754d15326030c9e3b7b94f51cfa4dc69
151 python-dateutil==2.8.0 \
152 --hash=sha256:7e6584c74aeed623791615e26efd690f29817a27c73085b78e4bad02493df2fb \
153 --hash=sha256:c89805f6f4d64db21ed966fda138f8a5ed7a4fdbc1a8ee329ce1b74e3c74da9e \
154 # via botocore
155 readme-renderer==24.0 \
156 --hash=sha256:bb16f55b259f27f75f640acf5e00cf897845a8b3e4731b5c1a436e4b8529202f \
157 --hash=sha256:c8532b79afc0375a85f10433eca157d6b50f7d6990f337fa498c96cd4bfc203d \
158 # via twine
215 requests==2.27.1 \
216 --hash=sha256:68d7c56fd5a8999887728ef304a6d12edc7be74f1cfa47714fc8b414525c9a61 \
217 --hash=sha256:f22fa1e554c9ddfd16e6e41ac79759e17be9e492b3587efa038054674760e72d
218 # via
219 # pypsrp
220 # requests-toolbelt
221 # twine
159 222 requests-toolbelt==0.9.1 \
160 223 --hash=sha256:380606e1d10dc85c3bd47bf5a6095f815ec007be7a8b69c878507068df059e6f \
161 --hash=sha256:968089d4584ad4ad7c171454f0a5c6dac23971e9472521ea3b6d49d610aa6fc0 \
224 --hash=sha256:968089d4584ad4ad7c171454f0a5c6dac23971e9472521ea3b6d49d610aa6fc0
225 # via twine
226 rfc3986==2.0.0 \
227 --hash=sha256:50b1502b60e289cb37883f3dfd34532b8873c7de9f49bb546641ce9cbd256ebd \
228 --hash=sha256:97aacf9dbd4bfd829baad6e6309fa6573aaf1be3f6fa735c8ab05e46cecb261c
162 229 # via twine
163 requests==2.22.0 \
164 --hash=sha256:11e007a8a2aa0323f5a921e9e6a2d7e4e67d9877e85773fba9ba6419025cbeb4 \
165 --hash=sha256:9cf5292fcd0f598c671cfc1e0d7d1a7f13bb8085e9a590f48c010551dc6c4b31 \
166 # via pypsrp, requests-toolbelt, twine
167 s3transfer==0.2.1 \
168 --hash=sha256:6efc926738a3cd576c2a79725fed9afde92378aa5c6a957e3af010cb019fac9d \
169 --hash=sha256:b780f2411b824cb541dbcd2c713d0cb61c7d1bcadae204cdddda2b35cef493ba \
230 rich==12.3.0 \
231 --hash=sha256:0eb63013630c6ee1237e0e395d51cb23513de6b5531235e33889e8842bdf3a6f \
232 --hash=sha256:7e8700cda776337036a712ff0495b04052fb5f957c7dfb8df997f88350044b64
233 # via twine
234 s3transfer==0.5.2 \
235 --hash=sha256:7a6f4c4d1fdb9a2b640244008e142cbc2cd3ae34b386584ef044dd0f27101971 \
236 --hash=sha256:95c58c194ce657a5f4fb0b9e60a84968c808888aed628cd98ab8771fe1db98ed
170 237 # via boto3
171 six==1.12.0 \
172 --hash=sha256:3350809f0555b11f552448330d0b52d5f24c91a322ea4a15ef22629740f3761c \
173 --hash=sha256:d16a0141ec1a18405cd4ce8b4613101da75da0e9a7aec5bdd4fa804d0e0eba73 \
174 # via bcrypt, bleach, cryptography, pynacl, pypsrp, python-dateutil, readme-renderer
175 tqdm==4.36.1 \
176 --hash=sha256:abc25d0ce2397d070ef07d8c7e706aede7920da163c64997585d42d3537ece3d \
177 --hash=sha256:dd3fcca8488bb1d416aa7469d2f277902f26260c45aa86b667b074cd44b3b115 \
178 # via twine
179 twine==2.0.0 \
180 --hash=sha256:5319dd3e02ac73fcddcd94f035b9631589ab5d23e1f4699d57365199d85261e1 \
181 --hash=sha256:9fe7091715c7576df166df8ef6654e61bada39571783f2fd415bdcba867c6993
182 urllib3==1.25.6 \
183 --hash=sha256:3de946ffbed6e6746608990594d08faac602528ac7015ac28d33cee6a45b7398 \
184 --hash=sha256:9a107b99a5393caf59c7aa3c1249c16e6879447533d0887f4336dde834c7be86 \
185 # via botocore, requests
238 secretstorage==3.3.2 \
239 --hash=sha256:0a8eb9645b320881c222e827c26f4cfcf55363e8b374a021981ef886657a912f \
240 --hash=sha256:755dc845b6ad76dcbcbc07ea3da75ae54bb1ea529eb72d15f83d26499a5df319
241 # via keyring
242 six==1.16.0 \
243 --hash=sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926 \
244 --hash=sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254
245 # via
246 # bleach
247 # paramiko
248 # python-dateutil
249 twine==4.0.0 \
250 --hash=sha256:6f7496cf14a3a8903474552d5271c79c71916519edb42554f23f42a8563498a9 \
251 --hash=sha256:817aa0c0bdc02a5ebe32051e168e23c71a0608334e624c793011f120dbbc05b7
252 # via -r contrib/automation/requirements.txt.in
253 urllib3==1.26.9 \
254 --hash=sha256:44ece4d53fb1706f667c9bd1c648f5469a2ec925fcf3a776667042d645472c14 \
255 --hash=sha256:aabaf16477806a5e1dd19aa41f8c2b7950dd3c746362d7e3223dbe6de6ac448e
256 # via
257 # botocore
258 # requests
259 # twine
186 260 webencodings==0.5.1 \
187 261 --hash=sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78 \
188 --hash=sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923 \
262 --hash=sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923
189 263 # via bleach
190
191 # WARNING: The following packages were not pinned, but pip requires them to be
192 # pinned when the requirements file includes hashes. Consider using the --allow-unsafe flag.
193 # setuptools==41.2.0 # via twine
264 zipp==3.8.0 \
265 --hash=sha256:56bf8aadb83c24db6c4b577e13de374ccfb67da2078beba1d037c17980bf43ad \
266 --hash=sha256:c4f6e5bbf48e74f7a38e7cc5b0480ff42b0ae5178957d564d18932525d5cf099
267 # via importlib-metadata
@@ -49,9 +49,9 b''
49 49 $MINGW_BIN_URL = "https://osdn.net/frs/redir.php?m=constant&f=mingw%2F68260%2Fmingw-get-0.6.3-mingw32-pre-20170905-1-bin.zip"
50 50 $MINGW_BIN_SHA256 = "2AB8EFD7C7D1FC8EAF8B2FA4DA4EEF8F3E47768284C021599BC7435839A046DF"
51 51
52 $MERCURIAL_WHEEL_FILENAME = "mercurial-5.8.1-cp39-cp39-win_amd64.whl"
53 $MERCURIAL_WHEEL_URL = "https://files.pythonhosted.org/packages/5c/b5/a5fa664761eef29b6c90eb24cb09ab8fe2c9b4b86af41d42c17476aff29b/$MERCURIAL_WHEEL_FILENAME"
54 $MERCURIAL_WHEEL_SHA256 = "cbf3efa68fd7ebf94691bd00d2c86bbd47ca73620c8faa4f18b6c394bf5f82b0"
52 $MERCURIAL_WHEEL_FILENAME = "mercurial-6.1.4-cp39-cp39-win_amd64.whl"
53 $MERCURIAL_WHEEL_URL = "https://files.pythonhosted.org/packages/82/86/fbcc4b552f6c1bdfdbbc5a68b0896a55ac3c6c0e8baf51394816bdc320bd/$MERCURIAL_WHEEL_FILENAME"
54 $MERCURIAL_WHEEL_SHA256 = "ab578daec7c21786c668b0da2e71282a290d18010255719f78d0e55145020d46"
55 55
56 56 $RUSTUP_INIT_URL = "https://static.rust-lang.org/rustup/archive/1.21.1/x86_64-pc-windows-gnu/rustup-init.exe"
57 57 $RUSTUP_INIT_SHA256 = "d17df34ba974b9b19cf5c75883a95475aa22ddc364591d75d174090d55711c72"
@@ -80,20 +80,28 b' docutils==0.16 \\'
80 80 --hash=sha256:0c5b78adfbf7762415433f5515cd5c9e762339e23369dbe8000d84a4bf4ab3af \
81 81 --hash=sha256:c2de3a60e9e7d07be26b7f2b00ca0309c207e06c100f9cc2a94931fc75a478fc
82 82 # via -r contrib/packaging/requirements-windows.txt.in
83 dulwich==0.20.6 ; python_version >= "3" \
84 --hash=sha256:1ccd55e38fa9f169290f93e027ab4508202f5bdd6ef534facac4edd3f6903f0d \
85 --hash=sha256:2452a0379cc7bbbd7ab893ec104d18039f1ea98b0d6be6bca5646e5cf29e0ae9 \
86 --hash=sha256:2f4aebc54ed2d37dcee737024421452375570a422eb682232e676aa7ebc9cb4b \
87 --hash=sha256:304f52b10c49c3a6ddfbd73e2e93d8e979350225cfba9688e51110e74fa2f718 \
88 --hash=sha256:49e747c72d9099e873bf6196260346d5996c3f28af788294d47a8accdc524de7 \
89 --hash=sha256:4fee359928c59b53af153a582a7ed7595259a5a825df400301a29e17fd78dfd3 \
90 --hash=sha256:50ef300a9fa4efd9f85009c2bd8b515266ec1529400f8834f85c04fa9f09b2c0 \
91 --hash=sha256:5348310f21b2a23847342ce464461499b6652483fa42de03714d0f6421a99698 \
92 --hash=sha256:7e7b5dea5178b6493fdb83adccbe81de9ddff55f79880185ed594c0e3a97209b \
93 --hash=sha256:8f7a7f973be2beedfb10dd8d3eb6bdf9ec466c72ad555704897cbd6357fe5021 \
94 --hash=sha256:bea6e6caffc6c73bfd1647714c5715ab96ac49deb8beb8b67511529afa25685a \
95 --hash=sha256:e5871b86a079e9e290f52ab14559cea1b694a0b8ed2b9ebb898f6ced7f14a406 \
96 --hash=sha256:e593f514b8ac740b4ceeb047745b4719bfc9f334904245c6edcb3a9d002f577b
83 dulwich==0.20.45 \
84 --hash=sha256:042bc206764968b17338e32c52bb6a116154eb87a63651971946917dfa37a359 \
85 --hash=sha256:22d433ba9c776f2b0e19b1186e01e25ca286175e20f4ac422141db94eeaac08b \
86 --hash=sha256:2d7cf5171034d9d61b928bd5f9c509000e895d1ba29bd6ea850b9e4f93fca0f7 \
87 --hash=sha256:3136bcaf7508522a2aa63f856743f06129261bc5a03331aa6a0654fa6d04a4ae \
88 --hash=sha256:35015e43207752cf7924860e85a3c2290c652c0c3ee81e7c95c52d34638f605d \
89 --hash=sha256:3f2c137a0003e80e384d116e65b453f8a704c2d393c30a47b447764e7f9c05a1 \
90 --hash=sha256:49852f12c1e1d50039f927e9fdee1bd00a9b428c31b078ba5ba9fc1cf88e9d3e \
91 --hash=sha256:4abb1b0e1e50192ce7204c4e14f24c989c5920c56de908365f4e66c6e3458945 \
92 --hash=sha256:4e405ac9426288ca782c45e066f816d878b4a529acf4d4b0b2a5bb45a804dfec \
93 --hash=sha256:5e41044ac51a4b3454d67e5f691808540470deeb6a852d7c5c6ca44c48b4cdc3 \
94 --hash=sha256:65334bd7a1d91054516a49f86343e9c2549740bbddebcbb4763c8aacf2aac48c \
95 --hash=sha256:6e02babb44bdad17b6c9c50b4f9df42f6e511e3a51555ac07dd85ec904efe0b1 \
96 --hash=sha256:70710dd9ca2a442190c7e506892db074c318ac762e221f7529b8ce34802041b7 \
97 --hash=sha256:9b689b05bc7baa5cb20ebff54291085b598a9bdf7caeab23daf93b46421d96ff \
98 --hash=sha256:b3f64870f2f206dda3308cb73563f5f59fdc084179271651a0488d12ab4185b9 \
99 --hash=sha256:bb75268cec2f3ae6f6b7addbc0db50db2e9e42b2ad8364e74b9f5b17ab0053b5 \
100 --hash=sha256:c8c0fc7d2e3b0ad6a4faadf96f0626fa50935ababfd774b9b94edaa28f0668ec \
101 --hash=sha256:d89f53a739ac3394b5ef2f178480569b7d36d4fe7b4bb49678582914530ce35b \
102 --hash=sha256:d8b6aae7af8edbfac8038e1777ae820efac33c7c22a8025d3254bbd53ec725b5 \
103 --hash=sha256:eb4189d72a0e2f3070e2abdbd10a05c0e62355cd5496761d6e68f1e865ac6fad \
104 --hash=sha256:efe46167eb02ba85d9c2e993635e7543e1e04bb3261112e9d54daff2385ae5df
97 105 # via -r contrib/packaging/requirements-windows.txt.in
98 106 fuzzywuzzy==0.18.0 \
99 107 --hash=sha256:45016e92264780e58972dca1b3d939ac864b78437422beecebb3095f8efd00e8
@@ -113,9 +121,9 b' iniconfig==1.1.1 \\'
113 121 --hash=sha256:011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3 \
114 122 --hash=sha256:bc3af051d7d14b2ee5ef9969666def0cd1a000e121eaea580d4a313df4b37f32
115 123 # via pytest
116 keyring==21.4.0 \
117 --hash=sha256:4e34ea2fdec90c1c43d6610b5a5fafa1b9097db1802948e90caf5763974b8f8d \
118 --hash=sha256:9aeadd006a852b78f4b4ef7c7556c2774d2432bbef8ee538a3e9089ac8b11466
124 keyring==22.3.0 \
125 --hash=sha256:16927a444b2c73f983520a48dec79ddab49fe76429ea05b8d528d778c8339522 \
126 --hash=sha256:2bc8363ebdd63886126a012057a85c8cb6e143877afa02619ac7dbc9f38a207b
119 127 # via -r contrib/packaging/requirements-windows.txt.in
120 128 multidict==5.1.0 \
121 129 --hash=sha256:018132dbd8688c7a69ad89c4a3f39ea2f9f33302ebe567a879da8f4ca73f0d0a \
@@ -172,7 +180,7 b' pycparser==2.21 \\'
172 180 --hash=sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9 \
173 181 --hash=sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206
174 182 # via cffi
175 pygit2==1.7.1 ; python_version >= "3" \
183 pygit2==1.7.1 \
176 184 --hash=sha256:2c9e95efb86c0b32cc07c26be3d179e851ca4a7899c47fef63c4203963144f5e \
177 185 --hash=sha256:3ddacbf461652d3d4900382f821d9fbd5ae2dedecd7862b5245842419ad0ccba \
178 186 --hash=sha256:4cb0414df6089d0072ebe93ff2f34730737172dd5f0e72289567d06a6caf09c0 \
@@ -117,6 +117,7 b' import weakref'
117 117
118 118 from mercurial.i18n import _
119 119 from mercurial.node import hex
120
120 121 from mercurial.pycompat import open
121 122 from mercurial import (
122 123 context,
@@ -131,6 +132,9 b' from mercurial import ('
131 132 scmutil,
132 133 util,
133 134 )
135
136 # no-check-code because we're accessing private information only public in pure
137 from mercurial.pure import parsers
134 138 from mercurial import match as matchmod
135 139 from mercurial.utils import (
136 140 hashutil,
@@ -332,10 +336,22 b' def overridewalk(orig, self, match, subr'
332 336 # for better performance, directly access the inner dirstate map if the
333 337 # standard dirstate implementation is in use.
334 338 dmap = dmap._map
339
340 has_mtime = parsers.DIRSTATE_V2_HAS_MTIME
341 mtime_is_ambiguous = parsers.DIRSTATE_V2_MTIME_SECOND_AMBIGUOUS
342 mask = has_mtime | mtime_is_ambiguous
343
344 # All entries that may not be clean
335 345 nonnormalset = {
336 346 f
337 347 for f, e in self._map.items()
338 if e._v1_state() != b"n" or e._v1_mtime() == -1
348 if not e.maybe_clean
349 # same as "not has_time or has_ambiguous_time", but factored to only
350 # need a single access to flags for performance.
351 # `mask` removes all irrelevant bits, then we flip the `mtime` bit so
352 # its `true` value is NOT having a mtime, then check if either bit
353 # is set.
354 or bool((e.v2_data()[0] & mask) ^ has_mtime)
339 355 }
340 356
341 357 copymap = self._map.copymap
@@ -204,7 +204,9 b' class gitbmstore:'
204 204
205 205 @active.setter
206 206 def active(self, mark):
207 githead = mark is not None and (_BMS_PREFIX + mark) or None
207 githead = None
208 if mark is not None:
209 githead = _BMS_PREFIX + pycompat.fsdecode(mark)
208 210 if githead is not None and githead not in self.gitrepo.references:
209 211 raise AssertionError(b'bookmark %s does not exist!' % mark)
210 212
@@ -254,7 +256,7 b' class gitbmstore:'
254 256 )
255 257
256 258 def checkconflict(self, mark, force=False, target=None):
257 githead = _BMS_PREFIX + mark
259 githead = _BMS_PREFIX + pycompat.fsdecode(mark)
258 260 cur = self.gitrepo.references['HEAD']
259 261 if githead in self.gitrepo.references and not force:
260 262 if target:
@@ -330,7 +330,8 b' class gitdirstate:'
330 330 # TODO: figure out a strategy for saving index backups.
331 331 pass
332 332
333 def set_tracked(self, f):
333 def set_tracked(self, f, reset_copy=False):
334 # TODO: support copies and reset_copy=True
334 335 uf = pycompat.fsdecode(f)
335 336 if uf in self.git.index:
336 337 return False
@@ -282,6 +282,30 b' class changelog(baselog):'
282 282
283 283 return ancestor.incrementalmissingancestors(self.parentrevs, common)
284 284
285 def findmissingrevs(self, common=None, heads=None):
286 """Return the revision numbers of the ancestors of heads that
287 are not ancestors of common.
288
289 More specifically, return a list of revision numbers corresponding to
290 nodes N such that every N satisfies the following constraints:
291
292 1. N is an ancestor of some node in 'heads'
293 2. N is not an ancestor of any node in 'common'
294
295 The list is sorted by revision number, meaning it is
296 topologically sorted.
297
298 'heads' and 'common' are both lists of revision numbers. If heads is
299 not supplied, uses all of the revlog's heads. If common is not
300 supplied, uses nullid."""
301 if common is None:
302 common = [nullrev]
303 if heads is None:
304 heads = self.headrevs()
305
306 inc = self.incrementalmissingrevs(common=common)
307 return inc.missingancestors(heads)
308
285 309 def findmissing(self, common=None, heads=None):
286 310 """Return the ancestors of heads that are not ancestors of common.
287 311
@@ -1185,10 +1185,10 b' def debugdiscovery(ui, repo, remoteurl=b'
1185 1185 """runs the changeset discovery protocol in isolation
1186 1186
1187 1187 The local peer can be "replaced" by a subset of the local repository by
1188 using the `--local-as-revs` flag. Int he same way, usual `remote` peer can
1189 be "replaced" by a subset of the local repository using the
1190 `--local-as-revs` flag. This is useful to efficiently debug pathological
1191 discovery situation.
1188 using the `--local-as-revs` flag. In the same way, the usual `remote` peer
1189 can be "replaced" by a subset of the local repository using the
1190 `--remote-as-revs` flag. This is useful to efficiently debug pathological
1191 discovery situations.
1192 1192
1193 1193 The following developer oriented config are relevant for people playing with this command:
1194 1194
@@ -1276,6 +1276,9 b' def debugdiscovery(ui, repo, remoteurl=b'
1276 1276 if not util.safehasattr(remote, b'branches'):
1277 1277 # enable in-client legacy support
1278 1278 remote = localrepo.locallegacypeer(remote.local())
1279 if remote_revs:
1280 r = remote._repo.filtered(b'debug-discovery-remote-filter')
1281 remote._repo = r
1279 1282 common, _in, hds = treediscovery.findcommonincoming(
1280 1283 repo, remote, force=True, audit=data
1281 1284 )
@@ -1299,7 +1302,12 b' def debugdiscovery(ui, repo, remoteurl=b'
1299 1302 revs = logcmdutil.revrange(repo, pushedrevs)
1300 1303 nodes = [repo[r].node() for r in revs]
1301 1304 common, any, hds = setdiscovery.findcommonheads(
1302 ui, repo, remote, ancestorsof=nodes, audit=data
1305 ui,
1306 repo,
1307 remote,
1308 ancestorsof=nodes,
1309 audit=data,
1310 abortwhenunrelated=False,
1303 1311 )
1304 1312 return common, hds
1305 1313
@@ -1322,6 +1330,8 b' def debugdiscovery(ui, repo, remoteurl=b'
1322 1330 common, hds = doit(localrevs, remoterevs)
1323 1331
1324 1332 # compute all statistics
1333 if len(common) == 1 and repo.nullid in common:
1334 common = set()
1325 1335 heads_common = set(common)
1326 1336 heads_remote = set(hds)
1327 1337 heads_local = set(repo.heads())
@@ -1375,7 +1385,24 b' def debugdiscovery(ui, repo, remoteurl=b'
1375 1385 # display discovery summary
1376 1386 fm.plain(b"elapsed time: %(elapsed)f seconds\n" % data)
1377 1387 fm.plain(b"round-trips: %(total-roundtrips)9d\n" % data)
1388 if b'total-round-trips-heads' in data:
1389 fm.plain(
1390 b" round-trips-heads: %(total-round-trips-heads)9d\n" % data
1391 )
1392 if b'total-round-trips-branches' in data:
1393 fm.plain(
1394 b" round-trips-branches: %(total-round-trips-branches)9d\n"
1395 % data
1396 )
1397 if b'total-round-trips-between' in data:
1398 fm.plain(
1399 b" round-trips-between: %(total-round-trips-between)9d\n" % data
1400 )
1378 1401 fm.plain(b"queries: %(total-queries)9d\n" % data)
1402 if b'total-queries-branches' in data:
1403 fm.plain(b" queries-branches: %(total-queries-branches)9d\n" % data)
1404 if b'total-queries-between' in data:
1405 fm.plain(b" queries-between: %(total-queries-between)9d\n" % data)
1379 1406 fm.plain(b"heads summary:\n")
1380 1407 fm.plain(b" total common heads: %(nb-common-heads)9d\n" % data)
1381 1408 fm.plain(b" also local heads: %(nb-common-heads-local)9d\n" % data)
@@ -31,6 +31,7 b' from . import ('
31 31 )
32 32
33 33 from .dirstateutils import (
34 docket as docketmod,
34 35 timestamp,
35 36 )
36 37
@@ -1433,6 +1434,27 b' class dirstate:'
1433 1434 else:
1434 1435 return self._filename
1435 1436
1437 def data_backup_filename(self, backupname):
1438 if not self._use_dirstate_v2:
1439 return None
1440 return backupname + b'.v2-data'
1441
1442 def _new_backup_data_filename(self, backupname):
1443 """return a filename to backup a data-file or None"""
1444 if not self._use_dirstate_v2:
1445 return None
1446 data_filename = self._map.docket.data_filename()
1447 return data_filename, self.data_backup_filename(backupname)
1448
1449 def backup_data_file(self, backupname):
1450 if not self._use_dirstate_v2:
1451 return None
1452 docket = docketmod.DirstateDocket.parse(
1453 self._opener.read(backupname),
1454 self._nodeconstants,
1455 )
1456 return self.data_backup_filename(backupname), docket.data_filename()
1457
1436 1458 def savebackup(self, tr, backupname):
1437 1459 '''Save current dirstate into backup file'''
1438 1460 filename = self._actualfilename(tr)
@@ -1472,6 +1494,19 b' class dirstate:'
1472 1494 self._opener.join(backupname),
1473 1495 hardlink=True,
1474 1496 )
1497 data_pair = self._new_backup_data_filename(backupname)
1498 if data_pair is not None:
1499 data_filename, bck_data_filename = data_pair
1500 util.copyfile(
1501 self._opener.join(data_filename),
1502 self._opener.join(bck_data_filename),
1503 hardlink=True,
1504 )
1505 if tr is not None:
1506 # ensure that pending file written above is unlinked at
1507 # failure, even if tr.writepending isn't invoked until the
1508 # end of this transaction
1509 tr.registertmp(bck_data_filename, location=b'plain')
1475 1510
1476 1511 def restorebackup(self, tr, backupname):
1477 1512 '''Restore dirstate by backup file'''
@@ -1480,14 +1515,29 b' class dirstate:'
1480 1515 self.invalidate()
1481 1516 filename = self._actualfilename(tr)
1482 1517 o = self._opener
1518 data_pair = self.backup_data_file(backupname)
1483 1519 if util.samefile(o.join(backupname), o.join(filename)):
1484 1520 o.unlink(backupname)
1485 1521 else:
1486 1522 o.rename(backupname, filename, checkambig=True)
1487 1523
1524 if data_pair is not None:
1525 data_backup, target = data_pair
1526 if o.exists(target) and util.samefile(
1527 o.join(data_backup), o.join(target)
1528 ):
1529 o.unlink(data_backup)
1530 else:
1531 o.rename(data_backup, target, checkambig=True)
1532
1488 1533 def clearbackup(self, tr, backupname):
1489 1534 '''Clear backup file'''
1490 self._opener.unlink(backupname)
1535 o = self._opener
1536 data_backup = self.backup_data_file(backupname)
1537 o.unlink(backupname)
1538
1539 if data_backup is not None:
1540 o.unlink(data_backup[0])
1491 1541
1492 1542 def verify(self, m1, m2):
1493 1543 """check the dirstate content again the parent manifest and yield errors"""
@@ -115,8 +115,6 b' class _dirstatemapcommon:'
115 115 self.parents(), len(packed), meta
116 116 )
117 117 data_filename = new_docket.data_filename()
118 if tr:
119 tr.add(data_filename, 0)
120 118 self._opener.write(data_filename, packed)
121 119 # Write the new docket after the new data file has been
122 120 # written. Because `st` was opened with `atomictemp=True`,
@@ -2619,16 +2619,23 b' class localrepository:'
2619 2619 return tr
2620 2620
2621 2621 def _journalfiles(self):
2622 return (
2622 first = (
2623 2623 (self.svfs, b'journal'),
2624 2624 (self.svfs, b'journal.narrowspec'),
2625 2625 (self.vfs, b'journal.narrowspec.dirstate'),
2626 2626 (self.vfs, b'journal.dirstate'),
2627 )
2628 middle = []
2629 dirstate_data = self.dirstate.data_backup_filename(b'journal.dirstate')
2630 if dirstate_data is not None:
2631 middle.append((self.vfs, dirstate_data))
2632 end = (
2627 2633 (self.vfs, b'journal.branch'),
2628 2634 (self.vfs, b'journal.desc'),
2629 2635 (bookmarks.bookmarksvfs(self), b'journal.bookmarks'),
2630 2636 (self.svfs, b'journal.phaseroots'),
2631 2637 )
2638 return first + tuple(middle) + end
2632 2639
2633 2640 def undofiles(self):
2634 2641 return [(vfs, undoname(x)) for vfs, x in self._journalfiles()]
@@ -159,7 +159,7 b" ACTION_REMOVE = MergeAction(b'r', narrow"
159 159 ACTION_ADD = MergeAction(b'a', narrow_safe=True, changes=CHANGE_ADDED)
160 160 ACTION_GET = MergeAction(b'g', narrow_safe=True, changes=CHANGE_MODIFIED)
161 161 ACTION_PATH_CONFLICT = MergeAction(b'p')
162 ACTION_PATH_CONFLICT_RESOLVE = MergeAction('pr')
162 ACTION_PATH_CONFLICT_RESOLVE = MergeAction(b'pr')
163 163 ACTION_ADD_MODIFIED = MergeAction(
164 164 b'am', narrow_safe=True, changes=CHANGE_ADDED
165 165 ) # not 100% about the changes value here
@@ -38,7 +38,12 b' def findcommonincoming(repo, remote, hea'
38 38
39 39 if audit is not None:
40 40 audit[b'total-roundtrips'] = 1
41 audit[b'total-roundtrips-heads'] = 1
42 audit[b'total-roundtrips-branches'] = 0
43 audit[b'total-roundtrips-between'] = 0
41 44 audit[b'total-queries'] = 0
45 audit[b'total-queries-branches'] = 0
46 audit[b'total-queries-between'] = 0
42 47
43 48 if repo.changelog.tip() == repo.nullid:
44 49 base.add(repo.nullid)
@@ -71,6 +76,9 b' def findcommonincoming(repo, remote, hea'
71 76 with remote.commandexecutor() as e:
72 77 if audit is not None:
73 78 audit[b'total-queries'] += len(unknown)
79 audit[b'total-queries-branches'] += len(unknown)
80 audit[b'total-roundtrips'] += 1
81 audit[b'total-roundtrips-branches'] += 1
74 82 branches = e.callcommand(b'branches', {b'nodes': unknown}).result()
75 83
76 84 unknown = collections.deque(branches)
@@ -110,16 +118,20 b' def findcommonincoming(repo, remote, hea'
110 118 seen.add(n[0])
111 119
112 120 if r:
113 reqcnt += 1
114 progress.increment()
115 repo.ui.debug(
116 b"request %d: %s\n" % (reqcnt, b" ".join(map(short, r)))
117 )
118 121 for p in range(0, len(r), 10):
122 reqcnt += 1
123 progress.increment()
124 if repo.ui.debugflag:
125 msg = b"request %d: %s\n"
126 msg %= (reqcnt, b" ".join(map(short, r)))
127 repo.ui.debug(msg)
119 128 with remote.commandexecutor() as e:
120 129 subset = r[p : p + 10]
121 130 if audit is not None:
122 131 audit[b'total-queries'] += len(subset)
132 audit[b'total-queries-branches'] += len(subset)
133 audit[b'total-roundtrips'] += 1
134 audit[b'total-roundtrips-branches'] += 1
123 135 branches = e.callcommand(
124 136 b'branches',
125 137 {
@@ -142,6 +154,9 b' def findcommonincoming(repo, remote, hea'
142 154 with remote.commandexecutor() as e:
143 155 if audit is not None:
144 156 audit[b'total-queries'] += len(search)
157 audit[b'total-queries-between'] += len(search)
158 audit[b'total-roundtrips'] += 1
159 audit[b'total-roundtrips-between'] += 1
145 160 between = e.callcommand(b'between', {b'pairs': search}).result()
146 161
147 162 for n, l in zip(search, between):
@@ -187,7 +202,5 b' def findcommonincoming(repo, remote, hea'
187 202
188 203 progress.complete()
189 204 repo.ui.debug(b"%d total queries\n" % reqcnt)
190 if audit is not None:
191 audit[b'total-roundtrips'] = reqcnt
192 205
193 206 return base, list(fetch), heads
@@ -222,22 +222,12 b' dependencies = ['
222 222
223 223 [[package]]
224 224 name = "crossbeam-channel"
225 version = "0.4.4"
226 source = "registry+https://github.com/rust-lang/crates.io-index"
227 checksum = "b153fe7cbef478c567df0f972e02e6d736db11affe43dfc9c56a9374d1adfb87"
228 dependencies = [
229 "crossbeam-utils 0.7.2",
230 "maybe-uninit",
231 ]
232
233 [[package]]
234 name = "crossbeam-channel"
235 225 version = "0.5.2"
236 226 source = "registry+https://github.com/rust-lang/crates.io-index"
237 227 checksum = "e54ea8bc3fb1ee042f5aace6e3c6e025d3874866da222930f70ce62aceba0bfa"
238 228 dependencies = [
239 229 "cfg-if 1.0.0",
240 "crossbeam-utils 0.8.1",
230 "crossbeam-utils",
241 231 ]
242 232
243 233 [[package]]
@@ -248,7 +238,7 b' checksum = "94af6efb46fef72616855b036a62'
248 238 dependencies = [
249 239 "cfg-if 1.0.0",
250 240 "crossbeam-epoch",
251 "crossbeam-utils 0.8.1",
241 "crossbeam-utils",
252 242 ]
253 243
254 244 [[package]]
@@ -259,7 +249,7 b' checksum = "a1aaa739f95311c2c7887a76863f'
259 249 dependencies = [
260 250 "cfg-if 1.0.0",
261 251 "const_fn",
262 "crossbeam-utils 0.8.1",
252 "crossbeam-utils",
263 253 "lazy_static",
264 254 "memoffset",
265 255 "scopeguard",
@@ -267,17 +257,6 b' dependencies = ['
267 257
268 258 [[package]]
269 259 name = "crossbeam-utils"
270 version = "0.7.2"
271 source = "registry+https://github.com/rust-lang/crates.io-index"
272 checksum = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8"
273 dependencies = [
274 "autocfg",
275 "cfg-if 0.1.10",
276 "lazy_static",
277 ]
278
279 [[package]]
280 name = "crossbeam-utils"
281 260 version = "0.8.1"
282 261 source = "registry+https://github.com/rust-lang/crates.io-index"
283 262 checksum = "02d96d1e189ef58269ebe5b97953da3274d83a93af647c2ddd6f9dab28cedb8d"
@@ -476,7 +455,7 b' dependencies = ['
476 455 "byteorder",
477 456 "bytes-cast",
478 457 "clap",
479 "crossbeam-channel 0.4.4",
458 "crossbeam-channel",
480 459 "derive_more",
481 460 "flate2",
482 461 "format-bytes",
@@ -488,7 +467,7 b' dependencies = ['
488 467 "libc",
489 468 "log",
490 469 "memmap2",
491 "micro-timer 0.3.1",
470 "micro-timer",
492 471 "ouroboros",
493 472 "pretty_assertions",
494 473 "rand 0.8.5",
@@ -508,7 +487,7 b' name = "hg-cpython"'
508 487 version = "0.1.0"
509 488 dependencies = [
510 489 "cpython",
511 "crossbeam-channel 0.5.2",
490 "crossbeam-channel",
512 491 "env_logger",
513 492 "hg-core",
514 493 "libc",
@@ -621,12 +600,6 b' dependencies = ['
621 600 ]
622 601
623 602 [[package]]
624 name = "maybe-uninit"
625 version = "2.0.0"
626 source = "registry+https://github.com/rust-lang/crates.io-index"
627 checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00"
628
629 [[package]]
630 603 name = "memchr"
631 604 version = "2.4.1"
632 605 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -634,9 +607,9 b' checksum = "308cc39be01b73d0d18f82a0e7b2'
634 607
635 608 [[package]]
636 609 name = "memmap2"
637 version = "0.4.0"
610 version = "0.5.7"
638 611 source = "registry+https://github.com/rust-lang/crates.io-index"
639 checksum = "de5d3112c080d58ce560081baeaab7e1e864ca21795ddbf533d5b1842bb1ecf8"
612 checksum = "95af15f345b17af2efc8ead6080fb8bc376f8cec1b35277b935637595fe77498"
640 613 dependencies = [
641 614 "libc",
642 615 "stable_deref_trait",
@@ -653,38 +626,16 b' dependencies = ['
653 626
654 627 [[package]]
655 628 name = "micro-timer"
656 version = "0.3.1"
657 source = "registry+https://github.com/rust-lang/crates.io-index"
658 checksum = "2620153e1d903d26b72b89f0e9c48d8c4756cba941c185461dddc234980c298c"
659 dependencies = [
660 "micro-timer-macros 0.3.1",
661 "scopeguard",
662 ]
663
664 [[package]]
665 name = "micro-timer"
666 629 version = "0.4.0"
667 630 source = "registry+https://github.com/rust-lang/crates.io-index"
668 631 checksum = "5de32cb59a062672560d6f0842c4aa7714727457b9fe2daf8987d995a176a405"
669 632 dependencies = [
670 "micro-timer-macros 0.4.0",
633 "micro-timer-macros",
671 634 "scopeguard",
672 635 ]
673 636
674 637 [[package]]
675 638 name = "micro-timer-macros"
676 version = "0.3.1"
677 source = "registry+https://github.com/rust-lang/crates.io-index"
678 checksum = "e28a3473e6abd6e9aab36aaeef32ad22ae0bd34e79f376643594c2b152ec1c5d"
679 dependencies = [
680 "proc-macro2",
681 "quote",
682 "scopeguard",
683 "syn",
684 ]
685
686 [[package]]
687 name = "micro-timer-macros"
688 639 version = "0.4.0"
689 640 source = "registry+https://github.com/rust-lang/crates.io-index"
690 641 checksum = "cee948b94700125b52dfb68dd17c19f6326696c1df57f92c05ee857463c93ba1"
@@ -973,9 +924,9 b' version = "1.9.1"'
973 924 source = "registry+https://github.com/rust-lang/crates.io-index"
974 925 checksum = "d78120e2c850279833f1dd3582f730c4ab53ed95aeaaaa862a2a5c71b1656d8e"
975 926 dependencies = [
976 "crossbeam-channel 0.5.2",
927 "crossbeam-channel",
977 928 "crossbeam-deque",
978 "crossbeam-utils 0.8.1",
929 "crossbeam-utils",
979 930 "lazy_static",
980 931 "num_cpus",
981 932 ]
@@ -1029,7 +980,7 b' dependencies = ['
1029 980 "home",
1030 981 "lazy_static",
1031 982 "log",
1032 "micro-timer 0.4.0",
983 "micro-timer",
1033 984 "regex",
1034 985 "users",
1035 986 "which",
@@ -29,10 +29,10 b' sha-1 = "0.10.0"'
29 29 twox-hash = "1.6.2"
30 30 same-file = "1.0.6"
31 31 tempfile = "3.1.0"
32 crossbeam-channel = "0.4"
33 micro-timer = "0.3.0"
32 crossbeam-channel = "0.5.0"
33 micro-timer = "0.4.0"
34 34 log = "0.4.8"
35 memmap2 = {version = "0.4", features = ["stable_deref_trait"]}
35 memmap2 = { version = "0.5.3", features = ["stable_deref_trait"] }
36 36 zstd = "0.5.3"
37 37 format-bytes = "0.3.0"
38 38
@@ -728,9 +728,9 b" impl<'a, 'tree, 'on_disk> StatusCommon<'"
728 728 );
729 729 })
730 730 }
731 }
732 if self.options.collect_traversed_dirs {
733 self.outcome.lock().unwrap().traversed.push(hg_path.into())
731 if self.options.collect_traversed_dirs {
732 self.outcome.lock().unwrap().traversed.push(hg_path.into())
733 }
734 734 }
735 735 is_ignored
736 736 } else {
@@ -791,7 +791,7 b" impl<'a> IncludeMatcher<'a> {"
791 791 dirs,
792 792 parents,
793 793 } = roots_dirs_and_parents(&ignore_patterns)?;
794 let prefix = ignore_patterns.iter().any(|k| match k.syntax {
794 let prefix = ignore_patterns.iter().all(|k| match k.syntax {
795 795 PatternSyntax::Path | PatternSyntax::RelPath => true,
796 796 _ => false,
797 797 });
@@ -1094,6 +1094,31 b' mod tests {'
1094 1094 matcher.visit_children_set(HgPath::new(b"dir/subdir/x")),
1095 1095 VisitChildrenSet::This
1096 1096 );
1097
1098 // Test multiple patterns
1099 let matcher = IncludeMatcher::new(vec![
1100 IgnorePattern::new(PatternSyntax::RelPath, b"foo", Path::new("")),
1101 IgnorePattern::new(PatternSyntax::Glob, b"g*", Path::new("")),
1102 ])
1103 .unwrap();
1104
1105 assert_eq!(
1106 matcher.visit_children_set(HgPath::new(b"")),
1107 VisitChildrenSet::This
1108 );
1109
1110 // Test multiple patterns
1111 let matcher = IncludeMatcher::new(vec![IgnorePattern::new(
1112 PatternSyntax::Glob,
1113 b"**/*.exe",
1114 Path::new(""),
1115 )])
1116 .unwrap();
1117
1118 assert_eq!(
1119 matcher.visit_children_set(HgPath::new(b"")),
1120 VisitChildrenSet::This
1121 );
1097 1122 }
1098 1123
1099 1124 #[test]
@@ -30,6 +30,7 b' New errors are not allowed. Warnings are'
30 30 Skipping contrib/packaging/hgpackaging/pyoxidizer.py it has no-che?k-code (glob)
31 31 Skipping contrib/packaging/hgpackaging/util.py it has no-che?k-code (glob)
32 32 Skipping contrib/packaging/hgpackaging/wix.py it has no-che?k-code (glob)
33 Skipping hgext/fsmonitor/__init__.py it has no-che?k-code (glob)
33 34 Skipping i18n/polib.py it has no-che?k-code (glob)
34 35 Skipping mercurial/statprof.py it has no-che?k-code (glob)
35 36 Skipping tests/testlib/badserverext.py it has no-che?k-code (glob)
@@ -213,4 +213,35 b' Check that unused bytes counter is reset'
213 213
214 214 #endif
215 215
216 $ cd ..
216 Transaction compatibility
217 -------------------------
218
219 The transaction preserves the dirstate.
220 We should make sure all of it (docket + data) is preserved
221
222 #if dirstate-v2
223 $ hg commit -m 'bli'
224 #endif
225
226 $ hg update --quiet
227 $ hg revert --all --quiet
228 $ rm -f a
229 $ echo foo > foo
230 $ hg add foo
231 $ hg commit -m foo
232
233 #if dirstate-v2
234 $ uid=$(find_dirstate_uuid)
235 $ touch bar
236 $ while [ uid = $(find_dirstate_uuid) ]; do
237 > hg add bar;
238 > hg remove bar;
239 > done;
240 $ rm bar
241 #endif
242 $ hg rollback
243 repository tip rolled back to revision 1 (undo commit)
244 working directory now based on revision 1
245
246 $ hg status
247 A foo
@@ -119,6 +119,10 b' Log works too:'
119 119 and bookmarks:
120 120 $ hg bookmarks
121 121 * master 1:3d9be8deba43
122 $ hg up master
123 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
124 $ hg bookmarks
125 * master 1:3d9be8deba43
122 126
123 127 diff even works transparently in both systems:
124 128 $ echo blah >> alpha
@@ -421,5 +425,8 b' This covers changelog.headrevs() with a '
421 425 7[tip][master] 1a0fee76bfc4 1970-01-01 00:00 +0000 test
422 426 remove beta
423 427
424
425
428 This covers revlog.findmissingrevs() (issue6472)
429 $ hg log -r 'last(only(master))' -Tcompact
430 7[tip][master] 1a0fee76bfc4 1970-01-01 00:00 +0000 test
431 remove beta
432
@@ -177,14 +177,7 b" It's a tarball because unbundle might ma"
177 177 $ cd ..
178 178 $ mkdir repo-to-fix
179 179 $ cd repo-to-fix
180 #if windows
181 tar interprets `:` in paths (like `C:`) as being remote, force local on Windows
182 only since some versions of tar don't have this flag.
183
184 $ tar --force-local -xf $TESTDIR/bundles/issue6528.tar
185 #else
186 $ tar xf $TESTDIR/bundles/issue6528.tar
187 #endif
180 $ tar -x < $TESTDIR/bundles/issue6528.tar
188 181
189 182 Check that the issue is present
190 183 (It is currently not present with rhg but will be when optimizations are added
@@ -285,14 +278,7 b' Try the using the report options'
285 278 $ cd ..
286 279 $ mkdir repo-to-fix-report
287 280 $ cd repo-to-fix
288 #if windows
289 tar interprets `:` in paths (like `C:`) as being remote, force local on Windows
290 only since some versions of tar don't have this flag.
291
292 $ tar --force-local -xf $TESTDIR/bundles/issue6528.tar
293 #else
294 $ tar xf $TESTDIR/bundles/issue6528.tar
295 #endif
281 $ tar -x < "$TESTDIR"/bundles/issue6528.tar
296 282
297 283 $ hg debug-repair-issue6528 --to-report $TESTTMP/report.txt
298 284 found affected revision 1 for filelog 'data/D.txt.i'
@@ -379,14 +365,7 b' Try it with a non-inline revlog'
379 365
380 366 $ mkdir repo-to-fix-not-inline
381 367 $ cd repo-to-fix-not-inline
382 #if windows
383 tar interprets `:` in paths (like `C:`) as being remote, force local on Windows
384 only since some versions of tar don't have this flag.
385
386 $ tar --force-local -xf $TESTDIR/bundles/issue6528.tar
387 #else
388 $ tar xf $TESTDIR/bundles/issue6528.tar
389 #endif
368 $ tar -x < "$TESTDIR"/bundles/issue6528.tar
390 369 $ echo b >> b.txt
391 370 $ hg commit -qm "inline -> separate"
392 371 $ find .hg -name *b.txt.d
@@ -27,8 +27,6 b' Dummy extension simulating unsafe long r'
27 27 > with ui.uninterruptible():
28 28 > testing.write_file(sync_file, b'%d' % os.getpid())
29 29 > testing.wait_file(done_file)
30 > # make sure we get rescheduled and the signal get a chance to be handled
31 > time.sleep(0.1)
32 30 > ui.warn(b"end of unsafe operation\n")
33 31 > ui.warn(b"%d second(s) passed\n" % int(time.time() - start))
34 32 > EOF
@@ -42,14 +40,26 b' Dummy extension simulating unsafe long r'
42 40 > fi
43 41 > "$RUNTESTDIR/testlib/wait-on-file" 10 "$SYNC_FILE" || exit 2
44 42 > kill -s \$SIG \`cat "$SYNC_FILE"\`
45 > sleep 1
46 > touch "$DONE_FILE"
47 43 > EOF
48 44
49 45 #if no-windows
50 46 $ chmod +x send-signal.sh
51 47 #endif
52 48
49 $ cat > wait-signal.sh << 'EOF'
50 > #!/bin/sh
51 > (hg wait-signal 2>&1; echo [$?]) | {
52 > read line
53 > touch "$DONE_FILE"
54 > echo "$line"
55 > cat
56 > }
57 > EOF
58
59 #if no-windows
60 $ chmod +x wait-signal.sh
61 #endif
62
53 63 Kludge to emulate timeout(1) which is not generally available.
54 64
55 65 Set up repository
@@ -60,11 +70,10 b' Set up repository'
60 70 > wait_ext = $TESTTMP/wait_ext.py
61 71 > EOF
62 72
63
64 73 Test ctrl-c
65 74 $ rm -f $SYNC_FILE $DONE_FILE
66 75 $ sh -c "../send-signal.sh INT" &
67 $ hg wait-signal
76 $ ../wait-signal.sh
68 77 interrupted!
69 78 [255]
70 79
@@ -75,7 +84,7 b' Test ctrl-c'
75 84
76 85 $ rm -f $SYNC_FILE $DONE_FILE
77 86 $ sh -c "../send-signal.sh INT" &
78 $ hg wait-signal
87 $ ../wait-signal.sh
79 88 interrupted!
80 89 [255]
81 90
@@ -86,7 +95,7 b' Test ctrl-c'
86 95
87 96 $ rm -f $SYNC_FILE $DONE_FILE
88 97 $ sh -c "../send-signal.sh INT" &
89 $ hg wait-signal
98 $ ../wait-signal.sh
90 99 shutting down cleanly
91 100 press ^C again to terminate immediately (dangerous)
92 101 end of unsafe operation
@@ -73,7 +73,7 b' This is what we did to produce the repo '
73 73 - hg commit -Am_
74 74 - remove some cache files
75 75
76 $ tar --force-local -xf "$TESTDIR"/bundles/test-revlog-diff-relative-to-nullrev.tar
76 $ tar -x < "$TESTDIR"/bundles/test-revlog-diff-relative-to-nullrev.tar
77 77 $ cd nullrev-diff
78 78 $ hg debugdeltachain a
79 79 rev p1 p2 chain# chainlen prev delta size rawsize chainsize ratio lindist extradist extraratio readsize largestblk rddensity srchunks
@@ -361,7 +361,7 b' The blackbox extension is supported'
361 361 $ echo "maxsize = 1" >> $HGRCPATH
362 362 $ $NO_FALLBACK rhg files > /dev/null
363 363 $ cat .hg/blackbox.log
364 ????-??-?? ??:??:??.??? * @d3873e73d99ef67873dac33fbcc66268d5d2b6f4 (*)> (rust) files exited 0 after 0.??? seconds (glob)
364 ????-??-?? ??:??:??.??? * @d3873e73d99ef67873dac33fbcc66268d5d2b6f4 (*)> (rust) files exited 0 after * seconds (glob)
365 365 $ cat .hg/blackbox.log.1
366 366 ????-??-?? ??:??:??.??? * @d3873e73d99ef67873dac33fbcc66268d5d2b6f4 (*)> (rust) files (glob)
367 367
@@ -44,8 +44,10 b' Small superset:'
44 44 searching for changes
45 45 unpruned common: 01241442b3c2 66f7d451a68b b5714e113bc0
46 46 elapsed time: * seconds (glob)
47 round-trips: 2
47 round-trips: 4
48 48 queries: 6
49 queries-branches: 2
50 queries-between: 4
49 51 heads summary:
50 52 total common heads: 2
51 53 also local heads: 2
@@ -144,6 +146,8 b' Small superset:'
144 146 elapsed time: * seconds (glob)
145 147 round-trips: 1
146 148 queries: 0
149 queries-branches: 0
150 queries-between: 0
147 151 heads summary:
148 152 total common heads: 2
149 153 also local heads: 1
@@ -247,8 +251,10 b' Many new:'
247 251 searching for changes
248 252 unpruned common: bebd167eb94d
249 253 elapsed time: * seconds (glob)
250 round-trips: 2
254 round-trips: 4
251 255 queries: 3
256 queries-branches: 1
257 queries-between: 2
252 258 heads summary:
253 259 total common heads: 1
254 260 also local heads: 1
@@ -351,8 +357,10 b' Many new:'
351 357 searching for changes
352 358 unpruned common: 66f7d451a68b bebd167eb94d
353 359 elapsed time: * seconds (glob)
354 round-trips: 4
360 round-trips: 6
355 361 queries: 5
362 queries-branches: 1
363 queries-between: 4
356 364 heads summary:
357 365 total common heads: 1
358 366 also local heads: 0
@@ -461,8 +469,10 b' Both sides many new with stub:'
461 469 searching for changes
462 470 unpruned common: 2dc09a01254d
463 471 elapsed time: * seconds (glob)
464 round-trips: 4
472 round-trips: 6
465 473 queries: 5
474 queries-branches: 1
475 queries-between: 4
466 476 heads summary:
467 477 total common heads: 1
468 478 also local heads: 1
@@ -565,8 +575,10 b' Both sides many new with stub:'
565 575 searching for changes
566 576 unpruned common: 2dc09a01254d 66f7d451a68b
567 577 elapsed time: * seconds (glob)
568 round-trips: 4
578 round-trips: 6
569 579 queries: 5
580 queries-branches: 1
581 queries-between: 4
570 582 heads summary:
571 583 total common heads: 1
572 584 also local heads: 0
@@ -676,8 +688,10 b' Both many new:'
676 688 searching for changes
677 689 unpruned common: 66f7d451a68b
678 690 elapsed time: * seconds (glob)
679 round-trips: 4
691 round-trips: 6
680 692 queries: 5
693 queries-branches: 1
694 queries-between: 4
681 695 heads summary:
682 696 total common heads: 1
683 697 also local heads: 0
@@ -780,8 +794,10 b' Both many new:'
780 794 searching for changes
781 795 unpruned common: 66f7d451a68b
782 796 elapsed time: * seconds (glob)
783 round-trips: 4
797 round-trips: 6
784 798 queries: 5
799 queries-branches: 1
800 queries-between: 4
785 801 heads summary:
786 802 total common heads: 1
787 803 also local heads: 0
@@ -891,8 +907,10 b' Both many new skewed:'
891 907 searching for changes
892 908 unpruned common: 66f7d451a68b
893 909 elapsed time: * seconds (glob)
894 round-trips: 4
910 round-trips: 6
895 911 queries: 5
912 queries-branches: 1
913 queries-between: 4
896 914 heads summary:
897 915 total common heads: 1
898 916 also local heads: 0
@@ -995,8 +1013,10 b' Both many new skewed:'
995 1013 searching for changes
996 1014 unpruned common: 66f7d451a68b
997 1015 elapsed time: * seconds (glob)
998 round-trips: 3
1016 round-trips: 5
999 1017 queries: 4
1018 queries-branches: 1
1019 queries-between: 3
1000 1020 heads summary:
1001 1021 total common heads: 1
1002 1022 also local heads: 0
@@ -1106,8 +1126,10 b' Both many new on top of long history:'
1106 1126 searching for changes
1107 1127 unpruned common: 7ead0cba2838
1108 1128 elapsed time: * seconds (glob)
1109 round-trips: 4
1129 round-trips: 6
1110 1130 queries: 5
1131 queries-branches: 1
1132 queries-between: 4
1111 1133 heads summary:
1112 1134 total common heads: 1
1113 1135 also local heads: 0
@@ -1216,8 +1238,10 b' Both many new on top of long history:'
1216 1238 searching for changes
1217 1239 unpruned common: 7ead0cba2838
1218 1240 elapsed time: * seconds (glob)
1219 round-trips: 3
1241 round-trips: 5
1220 1242 queries: 4
1243 queries-branches: 1
1244 queries-between: 3
1221 1245 heads summary:
1222 1246 total common heads: 1
1223 1247 also local heads: 0
General Comments 0
You need to be logged in to leave comments. Login now