##// END OF EJS Templates
copies-rust: use immutable "OrdMap" to store copies information...
marmoute -
r46577:0d99778a default
parent child Browse files
Show More
@@ -1,912 +1,967 b''
1 1 # This file is automatically @generated by Cargo.
2 2 # It is not intended for manual editing.
3 3 [[package]]
4 4 name = "adler"
5 5 version = "0.2.3"
6 6 source = "registry+https://github.com/rust-lang/crates.io-index"
7 7
8 8 [[package]]
9 9 name = "aho-corasick"
10 10 version = "0.7.13"
11 11 source = "registry+https://github.com/rust-lang/crates.io-index"
12 12 dependencies = [
13 13 "memchr 2.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
14 14 ]
15 15
16 16 [[package]]
17 17 name = "ansi_term"
18 18 version = "0.11.0"
19 19 source = "registry+https://github.com/rust-lang/crates.io-index"
20 20 dependencies = [
21 21 "winapi 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
22 22 ]
23 23
24 24 [[package]]
25 25 name = "atty"
26 26 version = "0.2.14"
27 27 source = "registry+https://github.com/rust-lang/crates.io-index"
28 28 dependencies = [
29 29 "hermit-abi 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)",
30 30 "libc 0.2.77 (registry+https://github.com/rust-lang/crates.io-index)",
31 31 "winapi 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
32 32 ]
33 33
34 34 [[package]]
35 35 name = "autocfg"
36 36 version = "1.0.1"
37 37 source = "registry+https://github.com/rust-lang/crates.io-index"
38 38
39 39 [[package]]
40 40 name = "bitflags"
41 41 version = "1.2.1"
42 42 source = "registry+https://github.com/rust-lang/crates.io-index"
43 43
44 44 [[package]]
45 name = "bitmaps"
46 version = "2.1.0"
47 source = "registry+https://github.com/rust-lang/crates.io-index"
48 dependencies = [
49 "typenum 1.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
50 ]
51
52 [[package]]
45 53 name = "byteorder"
46 54 version = "1.3.4"
47 55 source = "registry+https://github.com/rust-lang/crates.io-index"
48 56
49 57 [[package]]
50 58 name = "cc"
51 59 version = "1.0.60"
52 60 source = "registry+https://github.com/rust-lang/crates.io-index"
53 61 dependencies = [
54 62 "jobserver 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)",
55 63 ]
56 64
57 65 [[package]]
58 66 name = "cfg-if"
59 67 version = "0.1.10"
60 68 source = "registry+https://github.com/rust-lang/crates.io-index"
61 69
62 70 [[package]]
63 71 name = "clap"
64 72 version = "2.33.3"
65 73 source = "registry+https://github.com/rust-lang/crates.io-index"
66 74 dependencies = [
67 75 "ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
68 76 "atty 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)",
69 77 "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
70 78 "strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
71 79 "textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
72 80 "unicode-width 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
73 81 "vec_map 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
74 82 ]
75 83
76 84 [[package]]
77 85 name = "cpython"
78 86 version = "0.4.1"
79 87 source = "registry+https://github.com/rust-lang/crates.io-index"
80 88 dependencies = [
81 89 "libc 0.2.77 (registry+https://github.com/rust-lang/crates.io-index)",
82 90 "num-traits 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)",
83 91 "python27-sys 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
84 92 "python3-sys 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
85 93 ]
86 94
87 95 [[package]]
88 96 name = "crc32fast"
89 97 version = "1.2.0"
90 98 source = "registry+https://github.com/rust-lang/crates.io-index"
91 99 dependencies = [
92 100 "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
93 101 ]
94 102
95 103 [[package]]
96 104 name = "crossbeam"
97 105 version = "0.7.3"
98 106 source = "registry+https://github.com/rust-lang/crates.io-index"
99 107 dependencies = [
100 108 "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
101 109 "crossbeam-channel 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
102 110 "crossbeam-deque 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
103 111 "crossbeam-epoch 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
104 112 "crossbeam-queue 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
105 113 "crossbeam-utils 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
106 114 ]
107 115
108 116 [[package]]
109 117 name = "crossbeam-channel"
110 118 version = "0.4.4"
111 119 source = "registry+https://github.com/rust-lang/crates.io-index"
112 120 dependencies = [
113 121 "crossbeam-utils 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
114 122 "maybe-uninit 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
115 123 ]
116 124
117 125 [[package]]
118 126 name = "crossbeam-deque"
119 127 version = "0.7.3"
120 128 source = "registry+https://github.com/rust-lang/crates.io-index"
121 129 dependencies = [
122 130 "crossbeam-epoch 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
123 131 "crossbeam-utils 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
124 132 "maybe-uninit 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
125 133 ]
126 134
127 135 [[package]]
128 136 name = "crossbeam-epoch"
129 137 version = "0.8.2"
130 138 source = "registry+https://github.com/rust-lang/crates.io-index"
131 139 dependencies = [
132 140 "autocfg 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
133 141 "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
134 142 "crossbeam-utils 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
135 143 "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
136 144 "maybe-uninit 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
137 145 "memoffset 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)",
138 146 "scopeguard 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
139 147 ]
140 148
141 149 [[package]]
142 150 name = "crossbeam-queue"
143 151 version = "0.2.3"
144 152 source = "registry+https://github.com/rust-lang/crates.io-index"
145 153 dependencies = [
146 154 "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
147 155 "crossbeam-utils 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
148 156 "maybe-uninit 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
149 157 ]
150 158
151 159 [[package]]
152 160 name = "crossbeam-utils"
153 161 version = "0.7.2"
154 162 source = "registry+https://github.com/rust-lang/crates.io-index"
155 163 dependencies = [
156 164 "autocfg 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
157 165 "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
158 166 "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
159 167 ]
160 168
161 169 [[package]]
162 170 name = "ctor"
163 171 version = "0.1.16"
164 172 source = "registry+https://github.com/rust-lang/crates.io-index"
165 173 dependencies = [
166 174 "quote 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
167 175 "syn 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)",
168 176 ]
169 177
170 178 [[package]]
171 179 name = "difference"
172 180 version = "2.0.0"
173 181 source = "registry+https://github.com/rust-lang/crates.io-index"
174 182
175 183 [[package]]
176 184 name = "either"
177 185 version = "1.6.1"
178 186 source = "registry+https://github.com/rust-lang/crates.io-index"
179 187
180 188 [[package]]
181 189 name = "env_logger"
182 190 version = "0.7.1"
183 191 source = "registry+https://github.com/rust-lang/crates.io-index"
184 192 dependencies = [
185 193 "atty 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)",
186 194 "humantime 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
187 195 "log 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
188 196 "regex 1.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
189 197 "termcolor 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
190 198 ]
191 199
192 200 [[package]]
193 201 name = "flate2"
194 202 version = "1.0.17"
195 203 source = "registry+https://github.com/rust-lang/crates.io-index"
196 204 dependencies = [
197 205 "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
198 206 "crc32fast 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
199 207 "libc 0.2.77 (registry+https://github.com/rust-lang/crates.io-index)",
200 208 "libz-sys 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
201 209 "miniz_oxide 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
202 210 ]
203 211
204 212 [[package]]
205 213 name = "fuchsia-cprng"
206 214 version = "0.1.1"
207 215 source = "registry+https://github.com/rust-lang/crates.io-index"
208 216
209 217 [[package]]
210 218 name = "gcc"
211 219 version = "0.3.55"
212 220 source = "registry+https://github.com/rust-lang/crates.io-index"
213 221
214 222 [[package]]
215 223 name = "getrandom"
216 224 version = "0.1.15"
217 225 source = "registry+https://github.com/rust-lang/crates.io-index"
218 226 dependencies = [
219 227 "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
220 228 "libc 0.2.77 (registry+https://github.com/rust-lang/crates.io-index)",
221 229 "wasi 0.9.0+wasi-snapshot-preview1 (registry+https://github.com/rust-lang/crates.io-index)",
222 230 ]
223 231
224 232 [[package]]
225 233 name = "glob"
226 234 version = "0.3.0"
227 235 source = "registry+https://github.com/rust-lang/crates.io-index"
228 236
229 237 [[package]]
230 238 name = "hermit-abi"
231 239 version = "0.1.16"
232 240 source = "registry+https://github.com/rust-lang/crates.io-index"
233 241 dependencies = [
234 242 "libc 0.2.77 (registry+https://github.com/rust-lang/crates.io-index)",
235 243 ]
236 244
237 245 [[package]]
238 246 name = "hex"
239 247 version = "0.4.2"
240 248 source = "registry+https://github.com/rust-lang/crates.io-index"
241 249
242 250 [[package]]
243 251 name = "hg-core"
244 252 version = "0.1.0"
245 253 dependencies = [
246 254 "byteorder 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
247 255 "clap 2.33.3 (registry+https://github.com/rust-lang/crates.io-index)",
248 256 "crossbeam 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
249 257 "flate2 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)",
250 258 "hex 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
259 "im-rc 15.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
251 260 "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
252 261 "log 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
253 262 "memchr 2.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
254 263 "memmap 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
255 264 "micro-timer 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
256 265 "pretty_assertions 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
257 266 "rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
258 267 "rand_distr 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
259 268 "rand_pcg 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
260 269 "rayon 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
261 270 "regex 1.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
262 271 "rust-crypto 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)",
263 272 "same-file 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
264 273 "tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
265 274 "twox-hash 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
266 275 "zstd 0.5.3+zstd.1.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
267 276 ]
268 277
269 278 [[package]]
270 279 name = "hg-cpython"
271 280 version = "0.1.0"
272 281 dependencies = [
273 282 "cpython 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
274 283 "env_logger 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
275 284 "hg-core 0.1.0",
276 285 "libc 0.2.77 (registry+https://github.com/rust-lang/crates.io-index)",
277 286 "log 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
278 287 ]
279 288
280 289 [[package]]
281 290 name = "humantime"
282 291 version = "1.3.0"
283 292 source = "registry+https://github.com/rust-lang/crates.io-index"
284 293 dependencies = [
285 294 "quick-error 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
286 295 ]
287 296
288 297 [[package]]
298 name = "im-rc"
299 version = "15.0.0"
300 source = "registry+https://github.com/rust-lang/crates.io-index"
301 dependencies = [
302 "bitmaps 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
303 "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
304 "rand_xoshiro 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
305 "sized-chunks 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
306 "typenum 1.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
307 "version_check 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
308 ]
309
310 [[package]]
289 311 name = "itertools"
290 312 version = "0.9.0"
291 313 source = "registry+https://github.com/rust-lang/crates.io-index"
292 314 dependencies = [
293 315 "either 1.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
294 316 ]
295 317
296 318 [[package]]
297 319 name = "jobserver"
298 320 version = "0.1.21"
299 321 source = "registry+https://github.com/rust-lang/crates.io-index"
300 322 dependencies = [
301 323 "libc 0.2.77 (registry+https://github.com/rust-lang/crates.io-index)",
302 324 ]
303 325
304 326 [[package]]
305 327 name = "lazy_static"
306 328 version = "1.4.0"
307 329 source = "registry+https://github.com/rust-lang/crates.io-index"
308 330
309 331 [[package]]
310 332 name = "libc"
311 333 version = "0.2.77"
312 334 source = "registry+https://github.com/rust-lang/crates.io-index"
313 335
314 336 [[package]]
315 337 name = "libz-sys"
316 338 version = "1.1.2"
317 339 source = "registry+https://github.com/rust-lang/crates.io-index"
318 340 dependencies = [
319 341 "cc 1.0.60 (registry+https://github.com/rust-lang/crates.io-index)",
320 342 "pkg-config 0.3.18 (registry+https://github.com/rust-lang/crates.io-index)",
321 343 "vcpkg 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
322 344 ]
323 345
324 346 [[package]]
325 347 name = "log"
326 348 version = "0.4.11"
327 349 source = "registry+https://github.com/rust-lang/crates.io-index"
328 350 dependencies = [
329 351 "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
330 352 ]
331 353
332 354 [[package]]
333 355 name = "maybe-uninit"
334 356 version = "2.0.0"
335 357 source = "registry+https://github.com/rust-lang/crates.io-index"
336 358
337 359 [[package]]
338 360 name = "memchr"
339 361 version = "2.3.3"
340 362 source = "registry+https://github.com/rust-lang/crates.io-index"
341 363
342 364 [[package]]
343 365 name = "memmap"
344 366 version = "0.7.0"
345 367 source = "registry+https://github.com/rust-lang/crates.io-index"
346 368 dependencies = [
347 369 "libc 0.2.77 (registry+https://github.com/rust-lang/crates.io-index)",
348 370 "winapi 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
349 371 ]
350 372
351 373 [[package]]
352 374 name = "memoffset"
353 375 version = "0.5.6"
354 376 source = "registry+https://github.com/rust-lang/crates.io-index"
355 377 dependencies = [
356 378 "autocfg 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
357 379 ]
358 380
359 381 [[package]]
360 382 name = "micro-timer"
361 383 version = "0.3.1"
362 384 source = "registry+https://github.com/rust-lang/crates.io-index"
363 385 dependencies = [
364 386 "micro-timer-macros 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
365 387 "scopeguard 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
366 388 ]
367 389
368 390 [[package]]
369 391 name = "micro-timer-macros"
370 392 version = "0.3.1"
371 393 source = "registry+https://github.com/rust-lang/crates.io-index"
372 394 dependencies = [
373 395 "proc-macro2 1.0.21 (registry+https://github.com/rust-lang/crates.io-index)",
374 396 "quote 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
375 397 "scopeguard 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
376 398 "syn 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)",
377 399 ]
378 400
379 401 [[package]]
380 402 name = "miniz_oxide"
381 403 version = "0.4.2"
382 404 source = "registry+https://github.com/rust-lang/crates.io-index"
383 405 dependencies = [
384 406 "adler 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
385 407 "autocfg 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
386 408 ]
387 409
388 410 [[package]]
389 411 name = "num-traits"
390 412 version = "0.2.12"
391 413 source = "registry+https://github.com/rust-lang/crates.io-index"
392 414 dependencies = [
393 415 "autocfg 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
394 416 ]
395 417
396 418 [[package]]
397 419 name = "num_cpus"
398 420 version = "1.13.0"
399 421 source = "registry+https://github.com/rust-lang/crates.io-index"
400 422 dependencies = [
401 423 "hermit-abi 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)",
402 424 "libc 0.2.77 (registry+https://github.com/rust-lang/crates.io-index)",
403 425 ]
404 426
405 427 [[package]]
406 428 name = "output_vt100"
407 429 version = "0.1.2"
408 430 source = "registry+https://github.com/rust-lang/crates.io-index"
409 431 dependencies = [
410 432 "winapi 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
411 433 ]
412 434
413 435 [[package]]
414 436 name = "pkg-config"
415 437 version = "0.3.18"
416 438 source = "registry+https://github.com/rust-lang/crates.io-index"
417 439
418 440 [[package]]
419 441 name = "ppv-lite86"
420 442 version = "0.2.9"
421 443 source = "registry+https://github.com/rust-lang/crates.io-index"
422 444
423 445 [[package]]
424 446 name = "pretty_assertions"
425 447 version = "0.6.1"
426 448 source = "registry+https://github.com/rust-lang/crates.io-index"
427 449 dependencies = [
428 450 "ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
429 451 "ctor 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)",
430 452 "difference 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
431 453 "output_vt100 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
432 454 ]
433 455
434 456 [[package]]
435 457 name = "proc-macro2"
436 458 version = "1.0.21"
437 459 source = "registry+https://github.com/rust-lang/crates.io-index"
438 460 dependencies = [
439 461 "unicode-xid 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
440 462 ]
441 463
442 464 [[package]]
443 465 name = "python27-sys"
444 466 version = "0.4.1"
445 467 source = "registry+https://github.com/rust-lang/crates.io-index"
446 468 dependencies = [
447 469 "libc 0.2.77 (registry+https://github.com/rust-lang/crates.io-index)",
448 470 "regex 1.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
449 471 ]
450 472
451 473 [[package]]
452 474 name = "python3-sys"
453 475 version = "0.4.1"
454 476 source = "registry+https://github.com/rust-lang/crates.io-index"
455 477 dependencies = [
456 478 "libc 0.2.77 (registry+https://github.com/rust-lang/crates.io-index)",
457 479 "regex 1.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
458 480 ]
459 481
460 482 [[package]]
461 483 name = "quick-error"
462 484 version = "1.2.3"
463 485 source = "registry+https://github.com/rust-lang/crates.io-index"
464 486
465 487 [[package]]
466 488 name = "quote"
467 489 version = "1.0.7"
468 490 source = "registry+https://github.com/rust-lang/crates.io-index"
469 491 dependencies = [
470 492 "proc-macro2 1.0.21 (registry+https://github.com/rust-lang/crates.io-index)",
471 493 ]
472 494
473 495 [[package]]
474 496 name = "rand"
475 497 version = "0.3.23"
476 498 source = "registry+https://github.com/rust-lang/crates.io-index"
477 499 dependencies = [
478 500 "libc 0.2.77 (registry+https://github.com/rust-lang/crates.io-index)",
479 501 "rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
480 502 ]
481 503
482 504 [[package]]
483 505 name = "rand"
484 506 version = "0.4.6"
485 507 source = "registry+https://github.com/rust-lang/crates.io-index"
486 508 dependencies = [
487 509 "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
488 510 "libc 0.2.77 (registry+https://github.com/rust-lang/crates.io-index)",
489 511 "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
490 512 "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
491 513 "winapi 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
492 514 ]
493 515
494 516 [[package]]
495 517 name = "rand"
496 518 version = "0.7.3"
497 519 source = "registry+https://github.com/rust-lang/crates.io-index"
498 520 dependencies = [
499 521 "getrandom 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)",
500 522 "libc 0.2.77 (registry+https://github.com/rust-lang/crates.io-index)",
501 523 "rand_chacha 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
502 524 "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
503 525 "rand_hc 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
504 526 ]
505 527
506 528 [[package]]
507 529 name = "rand_chacha"
508 530 version = "0.2.2"
509 531 source = "registry+https://github.com/rust-lang/crates.io-index"
510 532 dependencies = [
511 533 "ppv-lite86 0.2.9 (registry+https://github.com/rust-lang/crates.io-index)",
512 534 "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
513 535 ]
514 536
515 537 [[package]]
516 538 name = "rand_core"
517 539 version = "0.3.1"
518 540 source = "registry+https://github.com/rust-lang/crates.io-index"
519 541 dependencies = [
520 542 "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
521 543 ]
522 544
523 545 [[package]]
524 546 name = "rand_core"
525 547 version = "0.4.2"
526 548 source = "registry+https://github.com/rust-lang/crates.io-index"
527 549
528 550 [[package]]
529 551 name = "rand_core"
530 552 version = "0.5.1"
531 553 source = "registry+https://github.com/rust-lang/crates.io-index"
532 554 dependencies = [
533 555 "getrandom 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)",
534 556 ]
535 557
536 558 [[package]]
537 559 name = "rand_distr"
538 560 version = "0.2.2"
539 561 source = "registry+https://github.com/rust-lang/crates.io-index"
540 562 dependencies = [
541 563 "rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
542 564 ]
543 565
544 566 [[package]]
545 567 name = "rand_hc"
546 568 version = "0.2.0"
547 569 source = "registry+https://github.com/rust-lang/crates.io-index"
548 570 dependencies = [
549 571 "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
550 572 ]
551 573
552 574 [[package]]
553 575 name = "rand_pcg"
554 576 version = "0.2.1"
555 577 source = "registry+https://github.com/rust-lang/crates.io-index"
556 578 dependencies = [
557 579 "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
558 580 ]
559 581
560 582 [[package]]
583 name = "rand_xoshiro"
584 version = "0.4.0"
585 source = "registry+https://github.com/rust-lang/crates.io-index"
586 dependencies = [
587 "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
588 ]
589
590 [[package]]
561 591 name = "rayon"
562 592 version = "1.4.0"
563 593 source = "registry+https://github.com/rust-lang/crates.io-index"
564 594 dependencies = [
565 595 "autocfg 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
566 596 "crossbeam-deque 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
567 597 "either 1.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
568 598 "rayon-core 1.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
569 599 ]
570 600
571 601 [[package]]
572 602 name = "rayon-core"
573 603 version = "1.8.1"
574 604 source = "registry+https://github.com/rust-lang/crates.io-index"
575 605 dependencies = [
576 606 "crossbeam-channel 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
577 607 "crossbeam-deque 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
578 608 "crossbeam-utils 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
579 609 "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
580 610 "num_cpus 1.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
581 611 ]
582 612
583 613 [[package]]
584 614 name = "rdrand"
585 615 version = "0.4.0"
586 616 source = "registry+https://github.com/rust-lang/crates.io-index"
587 617 dependencies = [
588 618 "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
589 619 ]
590 620
591 621 [[package]]
592 622 name = "redox_syscall"
593 623 version = "0.1.57"
594 624 source = "registry+https://github.com/rust-lang/crates.io-index"
595 625
596 626 [[package]]
597 627 name = "regex"
598 628 version = "1.3.9"
599 629 source = "registry+https://github.com/rust-lang/crates.io-index"
600 630 dependencies = [
601 631 "aho-corasick 0.7.13 (registry+https://github.com/rust-lang/crates.io-index)",
602 632 "memchr 2.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
603 633 "regex-syntax 0.6.18 (registry+https://github.com/rust-lang/crates.io-index)",
604 634 "thread_local 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
605 635 ]
606 636
607 637 [[package]]
608 638 name = "regex-syntax"
609 639 version = "0.6.18"
610 640 source = "registry+https://github.com/rust-lang/crates.io-index"
611 641
612 642 [[package]]
613 643 name = "remove_dir_all"
614 644 version = "0.5.3"
615 645 source = "registry+https://github.com/rust-lang/crates.io-index"
616 646 dependencies = [
617 647 "winapi 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
618 648 ]
619 649
620 650 [[package]]
621 651 name = "rhg"
622 652 version = "0.1.0"
623 653 dependencies = [
624 654 "clap 2.33.3 (registry+https://github.com/rust-lang/crates.io-index)",
625 655 "env_logger 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
626 656 "hg-core 0.1.0",
627 657 "log 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
628 658 "micro-timer 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
629 659 ]
630 660
631 661 [[package]]
632 662 name = "rust-crypto"
633 663 version = "0.2.36"
634 664 source = "registry+https://github.com/rust-lang/crates.io-index"
635 665 dependencies = [
636 666 "gcc 0.3.55 (registry+https://github.com/rust-lang/crates.io-index)",
637 667 "libc 0.2.77 (registry+https://github.com/rust-lang/crates.io-index)",
638 668 "rand 0.3.23 (registry+https://github.com/rust-lang/crates.io-index)",
639 669 "rustc-serialize 0.3.24 (registry+https://github.com/rust-lang/crates.io-index)",
640 670 "time 0.1.44 (registry+https://github.com/rust-lang/crates.io-index)",
641 671 ]
642 672
643 673 [[package]]
644 674 name = "rustc-serialize"
645 675 version = "0.3.24"
646 676 source = "registry+https://github.com/rust-lang/crates.io-index"
647 677
648 678 [[package]]
649 679 name = "same-file"
650 680 version = "1.0.6"
651 681 source = "registry+https://github.com/rust-lang/crates.io-index"
652 682 dependencies = [
653 683 "winapi-util 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
654 684 ]
655 685
656 686 [[package]]
657 687 name = "scopeguard"
658 688 version = "1.1.0"
659 689 source = "registry+https://github.com/rust-lang/crates.io-index"
660 690
661 691 [[package]]
692 name = "sized-chunks"
693 version = "0.6.2"
694 source = "registry+https://github.com/rust-lang/crates.io-index"
695 dependencies = [
696 "bitmaps 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
697 "typenum 1.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
698 ]
699
700 [[package]]
662 701 name = "strsim"
663 702 version = "0.8.0"
664 703 source = "registry+https://github.com/rust-lang/crates.io-index"
665 704
666 705 [[package]]
667 706 name = "syn"
668 707 version = "1.0.41"
669 708 source = "registry+https://github.com/rust-lang/crates.io-index"
670 709 dependencies = [
671 710 "proc-macro2 1.0.21 (registry+https://github.com/rust-lang/crates.io-index)",
672 711 "quote 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
673 712 "unicode-xid 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
674 713 ]
675 714
676 715 [[package]]
677 716 name = "tempfile"
678 717 version = "3.1.0"
679 718 source = "registry+https://github.com/rust-lang/crates.io-index"
680 719 dependencies = [
681 720 "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
682 721 "libc 0.2.77 (registry+https://github.com/rust-lang/crates.io-index)",
683 722 "rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
684 723 "redox_syscall 0.1.57 (registry+https://github.com/rust-lang/crates.io-index)",
685 724 "remove_dir_all 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
686 725 "winapi 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
687 726 ]
688 727
689 728 [[package]]
690 729 name = "termcolor"
691 730 version = "1.1.0"
692 731 source = "registry+https://github.com/rust-lang/crates.io-index"
693 732 dependencies = [
694 733 "winapi-util 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
695 734 ]
696 735
697 736 [[package]]
698 737 name = "textwrap"
699 738 version = "0.11.0"
700 739 source = "registry+https://github.com/rust-lang/crates.io-index"
701 740 dependencies = [
702 741 "unicode-width 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
703 742 ]
704 743
705 744 [[package]]
706 745 name = "thread_local"
707 746 version = "1.0.1"
708 747 source = "registry+https://github.com/rust-lang/crates.io-index"
709 748 dependencies = [
710 749 "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
711 750 ]
712 751
713 752 [[package]]
714 753 name = "time"
715 754 version = "0.1.44"
716 755 source = "registry+https://github.com/rust-lang/crates.io-index"
717 756 dependencies = [
718 757 "libc 0.2.77 (registry+https://github.com/rust-lang/crates.io-index)",
719 758 "wasi 0.10.0+wasi-snapshot-preview1 (registry+https://github.com/rust-lang/crates.io-index)",
720 759 "winapi 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
721 760 ]
722 761
723 762 [[package]]
724 763 name = "twox-hash"
725 764 version = "1.5.0"
726 765 source = "registry+https://github.com/rust-lang/crates.io-index"
727 766 dependencies = [
728 767 "rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
729 768 ]
730 769
731 770 [[package]]
771 name = "typenum"
772 version = "1.12.0"
773 source = "registry+https://github.com/rust-lang/crates.io-index"
774
775 [[package]]
732 776 name = "unicode-width"
733 777 version = "0.1.8"
734 778 source = "registry+https://github.com/rust-lang/crates.io-index"
735 779
736 780 [[package]]
737 781 name = "unicode-xid"
738 782 version = "0.2.1"
739 783 source = "registry+https://github.com/rust-lang/crates.io-index"
740 784
741 785 [[package]]
742 786 name = "vcpkg"
743 787 version = "0.2.10"
744 788 source = "registry+https://github.com/rust-lang/crates.io-index"
745 789
746 790 [[package]]
747 791 name = "vec_map"
748 792 version = "0.8.2"
749 793 source = "registry+https://github.com/rust-lang/crates.io-index"
750 794
751 795 [[package]]
796 name = "version_check"
797 version = "0.9.1"
798 source = "registry+https://github.com/rust-lang/crates.io-index"
799
800 [[package]]
752 801 name = "wasi"
753 802 version = "0.9.0+wasi-snapshot-preview1"
754 803 source = "registry+https://github.com/rust-lang/crates.io-index"
755 804
756 805 [[package]]
757 806 name = "wasi"
758 807 version = "0.10.0+wasi-snapshot-preview1"
759 808 source = "registry+https://github.com/rust-lang/crates.io-index"
760 809
761 810 [[package]]
762 811 name = "winapi"
763 812 version = "0.3.9"
764 813 source = "registry+https://github.com/rust-lang/crates.io-index"
765 814 dependencies = [
766 815 "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
767 816 "winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
768 817 ]
769 818
770 819 [[package]]
771 820 name = "winapi-i686-pc-windows-gnu"
772 821 version = "0.4.0"
773 822 source = "registry+https://github.com/rust-lang/crates.io-index"
774 823
775 824 [[package]]
776 825 name = "winapi-util"
777 826 version = "0.1.5"
778 827 source = "registry+https://github.com/rust-lang/crates.io-index"
779 828 dependencies = [
780 829 "winapi 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
781 830 ]
782 831
783 832 [[package]]
784 833 name = "winapi-x86_64-pc-windows-gnu"
785 834 version = "0.4.0"
786 835 source = "registry+https://github.com/rust-lang/crates.io-index"
787 836
788 837 [[package]]
789 838 name = "zstd"
790 839 version = "0.5.3+zstd.1.4.5"
791 840 source = "registry+https://github.com/rust-lang/crates.io-index"
792 841 dependencies = [
793 842 "zstd-safe 2.0.5+zstd.1.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
794 843 ]
795 844
796 845 [[package]]
797 846 name = "zstd-safe"
798 847 version = "2.0.5+zstd.1.4.5"
799 848 source = "registry+https://github.com/rust-lang/crates.io-index"
800 849 dependencies = [
801 850 "libc 0.2.77 (registry+https://github.com/rust-lang/crates.io-index)",
802 851 "zstd-sys 1.4.17+zstd.1.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
803 852 ]
804 853
805 854 [[package]]
806 855 name = "zstd-sys"
807 856 version = "1.4.17+zstd.1.4.5"
808 857 source = "registry+https://github.com/rust-lang/crates.io-index"
809 858 dependencies = [
810 859 "cc 1.0.60 (registry+https://github.com/rust-lang/crates.io-index)",
811 860 "glob 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
812 861 "itertools 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
813 862 "libc 0.2.77 (registry+https://github.com/rust-lang/crates.io-index)",
814 863 ]
815 864
816 865 [metadata]
817 866 "checksum adler 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ee2a4ec343196209d6594e19543ae87a39f96d5534d7174822a3ad825dd6ed7e"
818 867 "checksum aho-corasick 0.7.13 (registry+https://github.com/rust-lang/crates.io-index)" = "043164d8ba5c4c3035fec9bbee8647c0261d788f3474306f93bb65901cae0e86"
819 868 "checksum ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b"
820 869 "checksum atty 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)" = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
821 870 "checksum autocfg 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a"
822 871 "checksum bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
872 "checksum bitmaps 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "031043d04099746d8db04daf1fa424b2bc8bd69d92b25962dcde24da39ab64a2"
823 873 "checksum byteorder 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "08c48aae112d48ed9f069b33538ea9e3e90aa263cfa3d1c24309612b1f7472de"
824 874 "checksum cc 1.0.60 (registry+https://github.com/rust-lang/crates.io-index)" = "ef611cc68ff783f18535d77ddd080185275713d852c4f5cbb6122c462a7a825c"
825 875 "checksum cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
826 876 "checksum clap 2.33.3 (registry+https://github.com/rust-lang/crates.io-index)" = "37e58ac78573c40708d45522f0d80fa2f01cc4f9b4e2bf749807255454312002"
827 877 "checksum cpython 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "bfaf3847ab963e40c4f6dd8d6be279bdf74007ae2413786a0dcbb28c52139a95"
828 878 "checksum crc32fast 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ba125de2af0df55319f41944744ad91c71113bf74a4646efff39afe1f6842db1"
829 879 "checksum crossbeam 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "69323bff1fb41c635347b8ead484a5ca6c3f11914d784170b158d8449ab07f8e"
830 880 "checksum crossbeam-channel 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "b153fe7cbef478c567df0f972e02e6d736db11affe43dfc9c56a9374d1adfb87"
831 881 "checksum crossbeam-deque 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "9f02af974daeee82218205558e51ec8768b48cf524bd01d550abe5573a608285"
832 882 "checksum crossbeam-epoch 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "058ed274caafc1f60c4997b5fc07bf7dc7cca454af7c6e81edffe5f33f70dace"
833 883 "checksum crossbeam-queue 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "774ba60a54c213d409d5353bda12d49cd68d14e45036a285234c8d6f91f92570"
834 884 "checksum crossbeam-utils 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8"
835 885 "checksum ctor 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "7fbaabec2c953050352311293be5c6aba8e141ba19d6811862b232d6fd020484"
836 886 "checksum difference 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "524cbf6897b527295dff137cec09ecf3a05f4fddffd7dfcd1585403449e74198"
837 887 "checksum either 1.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457"
838 888 "checksum env_logger 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "44533bbbb3bb3c1fa17d9f2e4e38bbbaf8396ba82193c4cb1b6445d711445d36"
839 889 "checksum flate2 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)" = "766d0e77a2c1502169d4a93ff3b8c15a71fd946cd0126309752104e5f3c46d94"
840 890 "checksum fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
841 891 "checksum gcc 0.3.55 (registry+https://github.com/rust-lang/crates.io-index)" = "8f5f3913fa0bfe7ee1fd8248b6b9f42a5af4b9d65ec2dd2c3c26132b950ecfc2"
842 892 "checksum getrandom 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)" = "fc587bc0ec293155d5bfa6b9891ec18a1e330c234f896ea47fbada4cadbe47e6"
843 893 "checksum glob 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574"
844 894 "checksum hermit-abi 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "4c30f6d0bc6b00693347368a67d41b58f2fb851215ff1da49e90fe2c5c667151"
845 895 "checksum hex 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "644f9158b2f133fd50f5fb3242878846d9eb792e445c893805ff0e3824006e35"
846 896 "checksum humantime 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "df004cfca50ef23c36850aaaa59ad52cc70d0e90243c3c7737a4dd32dc7a3c4f"
897 "checksum im-rc 15.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3ca8957e71f04a205cb162508f9326aea04676c8dfd0711220190d6b83664f3f"
847 898 "checksum itertools 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "284f18f85651fe11e8a991b2adb42cb078325c996ed026d994719efcfca1d54b"
848 899 "checksum jobserver 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)" = "5c71313ebb9439f74b00d9d2dcec36440beaf57a6aa0623068441dd7cd81a7f2"
849 900 "checksum lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
850 901 "checksum libc 0.2.77 (registry+https://github.com/rust-lang/crates.io-index)" = "f2f96b10ec2560088a8e76961b00d47107b3a625fecb76dedb29ee7ccbf98235"
851 902 "checksum libz-sys 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "602113192b08db8f38796c4e85c39e960c145965140e918018bcde1952429655"
852 903 "checksum log 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)" = "4fabed175da42fed1fa0746b0ea71f412aa9d35e76e95e59b192c64b9dc2bf8b"
853 904 "checksum maybe-uninit 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00"
854 905 "checksum memchr 2.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3728d817d99e5ac407411fa471ff9800a778d88a24685968b36824eaf4bee400"
855 906 "checksum memmap 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6585fd95e7bb50d6cc31e20d4cf9afb4e2ba16c5846fc76793f11218da9c475b"
856 907 "checksum memoffset 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)" = "043175f069eda7b85febe4a74abbaeff828d9f8b448515d3151a14a3542811aa"
857 908 "checksum micro-timer 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2620153e1d903d26b72b89f0e9c48d8c4756cba941c185461dddc234980c298c"
858 909 "checksum micro-timer-macros 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e28a3473e6abd6e9aab36aaeef32ad22ae0bd34e79f376643594c2b152ec1c5d"
859 910 "checksum miniz_oxide 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c60c0dfe32c10b43a144bad8fc83538c52f58302c92300ea7ec7bf7b38d5a7b9"
860 911 "checksum num-traits 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)" = "ac267bcc07f48ee5f8935ab0d24f316fb722d7a1292e2913f0cc196b29ffd611"
861 912 "checksum num_cpus 1.13.0 (registry+https://github.com/rust-lang/crates.io-index)" = "05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3"
862 913 "checksum output_vt100 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "53cdc5b785b7a58c5aad8216b3dfa114df64b0b06ae6e1501cef91df2fbdf8f9"
863 914 "checksum pkg-config 0.3.18 (registry+https://github.com/rust-lang/crates.io-index)" = "d36492546b6af1463394d46f0c834346f31548646f6ba10849802c9c9a27ac33"
864 915 "checksum ppv-lite86 0.2.9 (registry+https://github.com/rust-lang/crates.io-index)" = "c36fa947111f5c62a733b652544dd0016a43ce89619538a8ef92724a6f501a20"
865 916 "checksum pretty_assertions 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3f81e1644e1b54f5a68959a29aa86cde704219254669da328ecfdf6a1f09d427"
866 917 "checksum proc-macro2 1.0.21 (registry+https://github.com/rust-lang/crates.io-index)" = "36e28516df94f3dd551a587da5357459d9b36d945a7c37c3557928c1c2ff2a2c"
867 918 "checksum python27-sys 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "67cb041de8615111bf224dd75667af5f25c6e032118251426fed7f1b70ce4c8c"
868 919 "checksum python3-sys 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "90af11779515a1e530af60782d273b59ac79d33b0e253c071a728563957c76d4"
869 920 "checksum quick-error 1.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0"
870 921 "checksum quote 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)" = "aa563d17ecb180e500da1cfd2b028310ac758de548efdd203e18f283af693f37"
871 922 "checksum rand 0.3.23 (registry+https://github.com/rust-lang/crates.io-index)" = "64ac302d8f83c0c1974bf758f6b041c6c8ada916fbb44a609158ca8b064cc76c"
872 923 "checksum rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293"
873 924 "checksum rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
874 925 "checksum rand_chacha 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
875 926 "checksum rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
876 927 "checksum rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc"
877 928 "checksum rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
878 929 "checksum rand_distr 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "96977acbdd3a6576fb1d27391900035bf3863d4a16422973a409b488cf29ffb2"
879 930 "checksum rand_hc 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
880 931 "checksum rand_pcg 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429"
932 "checksum rand_xoshiro 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a9fcdd2e881d02f1d9390ae47ad8e5696a9e4be7b547a1da2afbc61973217004"
881 933 "checksum rayon 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "cfd016f0c045ad38b5251be2c9c0ab806917f82da4d36b2a327e5166adad9270"
882 934 "checksum rayon-core 1.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e8c4fec834fb6e6d2dd5eece3c7b432a52f0ba887cf40e595190c4107edc08bf"
883 935 "checksum rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
884 936 "checksum redox_syscall 0.1.57 (registry+https://github.com/rust-lang/crates.io-index)" = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce"
885 937 "checksum regex 1.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "9c3780fcf44b193bc4d09f36d2a3c87b251da4a046c87795a0d35f4f927ad8e6"
886 938 "checksum regex-syntax 0.6.18 (registry+https://github.com/rust-lang/crates.io-index)" = "26412eb97c6b088a6997e05f69403a802a92d520de2f8e63c2b65f9e0f47c4e8"
887 939 "checksum remove_dir_all 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7"
888 940 "checksum rust-crypto 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)" = "f76d05d3993fd5f4af9434e8e436db163a12a9d40e1a58a726f27a01dfd12a2a"
889 941 "checksum rustc-serialize 0.3.24 (registry+https://github.com/rust-lang/crates.io-index)" = "dcf128d1287d2ea9d80910b5f1120d0b8eede3fbf1abe91c40d39ea7d51e6fda"
890 942 "checksum same-file 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
891 943 "checksum scopeguard 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
944 "checksum sized-chunks 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1ec31ceca5644fa6d444cc77548b88b67f46db6f7c71683b0f9336e671830d2f"
892 945 "checksum strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
893 946 "checksum syn 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)" = "6690e3e9f692504b941dc6c3b188fd28df054f7fb8469ab40680df52fdcc842b"
894 947 "checksum tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6e24d9338a0a5be79593e2fa15a648add6138caa803e2d5bc782c371732ca9"
895 948 "checksum termcolor 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bb6bfa289a4d7c5766392812c0a1f4c1ba45afa1ad47803c11e1f407d846d75f"
896 949 "checksum textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
897 950 "checksum thread_local 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d40c6d1b69745a6ec6fb1ca717914848da4b44ae29d9b3080cbee91d72a69b14"
898 951 "checksum time 0.1.44 (registry+https://github.com/rust-lang/crates.io-index)" = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255"
899 952 "checksum twox-hash 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3bfd5b7557925ce778ff9b9ef90e3ade34c524b5ff10e239c69a42d546d2af56"
953 "checksum typenum 1.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "373c8a200f9e67a0c95e62a4f52fbf80c23b4381c05a17845531982fa99e6b33"
900 954 "checksum unicode-width 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3"
901 955 "checksum unicode-xid 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564"
902 956 "checksum vcpkg 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)" = "6454029bf181f092ad1b853286f23e2c507d8e8194d01d92da4a55c274a5508c"
903 957 "checksum vec_map 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
958 "checksum version_check 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "078775d0255232fb988e6fccf26ddc9d1ac274299aaedcedce21c6f72cc533ce"
904 959 "checksum wasi 0.10.0+wasi-snapshot-preview1 (registry+https://github.com/rust-lang/crates.io-index)" = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f"
905 960 "checksum wasi 0.9.0+wasi-snapshot-preview1 (registry+https://github.com/rust-lang/crates.io-index)" = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
906 961 "checksum winapi 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
907 962 "checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
908 963 "checksum winapi-util 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
909 964 "checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
910 965 "checksum zstd 0.5.3+zstd.1.4.5 (registry+https://github.com/rust-lang/crates.io-index)" = "01b32eaf771efa709e8308605bbf9319bf485dc1503179ec0469b611937c0cd8"
911 966 "checksum zstd-safe 2.0.5+zstd.1.4.5 (registry+https://github.com/rust-lang/crates.io-index)" = "1cfb642e0d27f64729a639c52db457e0ae906e7bc6f5fe8f5c453230400f1055"
912 967 "checksum zstd-sys 1.4.17+zstd.1.4.5 (registry+https://github.com/rust-lang/crates.io-index)" = "b89249644df056b522696b1bb9e7c18c87e8ffa3e2f0dc3b0155875d6498f01b"
@@ -1,46 +1,47 b''
1 1 [package]
2 2 name = "hg-core"
3 3 version = "0.1.0"
4 4 authors = ["Georges Racinet <gracinet@anybox.fr>"]
5 5 description = "Mercurial pure Rust core library, with no assumption on Python bindings (FFI)"
6 6 edition = "2018"
7 7
8 8 [lib]
9 9 name = "hg"
10 10
11 11 [dependencies]
12 12 byteorder = "1.3.4"
13 13 hex = "0.4.2"
14 im-rc = "15.0.*"
14 15 lazy_static = "1.4.0"
15 16 memchr = "2.3.3"
16 17 rand = "0.7.3"
17 18 rand_pcg = "0.2.1"
18 19 rand_distr = "0.2.2"
19 20 rayon = "1.3.0"
20 21 regex = "1.3.9"
21 22 twox-hash = "1.5.0"
22 23 same-file = "1.0.6"
23 24 crossbeam = "0.7.3"
24 25 micro-timer = "0.3.0"
25 26 log = "0.4.8"
26 27 memmap = "0.7.0"
27 28 zstd = "0.5.3"
28 29 rust-crypto = "0.2.36"
29 30
30 31 # We don't use the `miniz-oxide` backend to not change rhg benchmarks and until
31 32 # we have a clearer view of which backend is the fastest.
32 33 [dependencies.flate2]
33 34 version = "1.0.16"
34 35 features = ["zlib"]
35 36 default-features = false
36 37
37 38 [dev-dependencies]
38 39 clap = "*"
39 40 pretty_assertions = "0.6.1"
40 41 tempfile = "3.1.0"
41 42
42 43 [features]
43 44 # Use a (still unoptimized) tree for the dirstate instead of the current flat
44 45 # dirstate. This is not yet recommended for performance reasons. A future
45 46 # version might make it the default, or make it a runtime option.
46 47 dirstate-tree = []
@@ -1,262 +1,264 b''
1 1 use crate::utils::hg_path::HgPathBuf;
2 2 use crate::Revision;
3 3
4 use im_rc::ordmap::OrdMap;
5
4 6 use std::collections::HashMap;
5 7 use std::collections::HashSet;
6 8
7 9 pub type PathCopies = HashMap<HgPathBuf, HgPathBuf>;
8 10
9 11 #[derive(Clone, Debug)]
10 12 struct TimeStampedPathCopy {
11 13 /// revision at which the copy information was added
12 14 rev: Revision,
13 15 /// the copy source, (Set to None in case of deletion of the associated
14 16 /// key)
15 17 path: Option<HgPathBuf>,
16 18 }
17 19
18 20 /// maps CopyDestination to Copy Source (+ a "timestamp" for the operation)
19 type TimeStampedPathCopies = HashMap<HgPathBuf, TimeStampedPathCopy>;
21 type TimeStampedPathCopies = OrdMap<HgPathBuf, TimeStampedPathCopy>;
20 22
21 23 /// hold parent 1, parent 2 and relevant files actions.
22 24 pub type RevInfo = (Revision, Revision, ChangedFiles);
23 25
24 26 /// represent the files affected by a changesets
25 27 ///
26 28 /// This hold a subset of mercurial.metadata.ChangingFiles as we do not need
27 29 /// all the data categories tracked by it.
28 30 pub struct ChangedFiles {
29 31 removed: HashSet<HgPathBuf>,
30 32 merged: HashSet<HgPathBuf>,
31 33 salvaged: HashSet<HgPathBuf>,
32 34 copied_from_p1: PathCopies,
33 35 copied_from_p2: PathCopies,
34 36 }
35 37
36 38 impl ChangedFiles {
37 39 pub fn new(
38 40 removed: HashSet<HgPathBuf>,
39 41 merged: HashSet<HgPathBuf>,
40 42 salvaged: HashSet<HgPathBuf>,
41 43 copied_from_p1: PathCopies,
42 44 copied_from_p2: PathCopies,
43 45 ) -> Self {
44 46 ChangedFiles {
45 47 removed,
46 48 merged,
47 49 salvaged,
48 50 copied_from_p1,
49 51 copied_from_p2,
50 52 }
51 53 }
52 54
53 55 pub fn new_empty() -> Self {
54 56 ChangedFiles {
55 57 removed: HashSet::new(),
56 58 merged: HashSet::new(),
57 59 salvaged: HashSet::new(),
58 60 copied_from_p1: PathCopies::new(),
59 61 copied_from_p2: PathCopies::new(),
60 62 }
61 63 }
62 64 }
63 65
64 66 /// Same as mercurial.copies._combine_changeset_copies, but in Rust.
65 67 ///
66 68 /// Arguments are:
67 69 ///
68 70 /// revs: all revisions to be considered
69 71 /// children: a {parent ? [childrens]} mapping
70 72 /// target_rev: the final revision we are combining copies to
71 73 /// rev_info(rev): callback to get revision information:
72 74 /// * first parent
73 75 /// * second parent
74 76 /// * ChangedFiles
75 77 /// isancestors(low_rev, high_rev): callback to check if a revision is an
76 78 /// ancestor of another
77 79 pub fn combine_changeset_copies(
78 80 revs: Vec<Revision>,
79 81 children: HashMap<Revision, Vec<Revision>>,
80 82 target_rev: Revision,
81 83 rev_info: &impl Fn(Revision) -> RevInfo,
82 84 is_ancestor: &impl Fn(Revision, Revision) -> bool,
83 85 ) -> PathCopies {
84 86 let mut all_copies = HashMap::new();
85 87
86 88 for rev in revs {
87 89 // Retrieve data computed in a previous iteration
88 90 let copies = all_copies.remove(&rev);
89 91 let copies = match copies {
90 92 Some(c) => c,
91 93 None => TimeStampedPathCopies::default(), // root of the walked set
92 94 };
93 95
94 96 let current_children = match children.get(&rev) {
95 97 Some(c) => c,
96 98 None => panic!("inconsistent `revs` and `children`"),
97 99 };
98 100
99 101 for child in current_children {
100 102 // We will chain the copies information accumulated for `rev` with
101 103 // the individual copies information for each of its children.
102 104 // Creating a new PathCopies for each `rev` ? `children` vertex.
103 105 let (p1, p2, changes) = rev_info(*child);
104 106
105 107 let (parent, child_copies) = if rev == p1 {
106 108 (1, &changes.copied_from_p1)
107 109 } else {
108 110 assert_eq!(rev, p2);
109 111 (2, &changes.copied_from_p2)
110 112 };
111 113 let mut new_copies = copies.clone();
112 114
113 115 for (dest, source) in child_copies {
114 116 let entry;
115 117 if let Some(v) = copies.get(source) {
116 118 entry = match &v.path {
117 119 Some(path) => Some((*(path)).to_owned()),
118 120 None => Some(source.to_owned()),
119 121 }
120 122 } else {
121 123 entry = Some(source.to_owned());
122 124 }
123 125 // Each new entry is introduced by the children, we record this
124 126 // information as we will need it to take the right decision
125 127 // when merging conflicting copy information. See
126 128 // merge_copies_dict for details.
127 129 let ttpc = TimeStampedPathCopy {
128 130 rev: *child,
129 131 path: entry,
130 132 };
131 133 new_copies.insert(dest.to_owned(), ttpc);
132 134 }
133 135
134 136 // We must drop copy information for removed file.
135 137 //
136 138 // We need to explicitly record them as dropped to propagate this
137 139 // information when merging two TimeStampedPathCopies object.
138 140 for f in changes.removed.iter() {
139 141 if new_copies.contains_key(f.as_ref()) {
140 142 let ttpc = TimeStampedPathCopy {
141 143 rev: *child,
142 144 path: None,
143 145 };
144 146 new_copies.insert(f.to_owned(), ttpc);
145 147 }
146 148 }
147 149
148 150 // Merge has two parents needs to combines their copy information.
149 151 //
150 152 // If the vertex from the other parent was already processed, we
151 153 // will have a value for the child ready to be used. We need to
152 154 // grab it and combine it with the one we already
153 155 // computed. If not we can simply store the newly
154 156 // computed data. The processing happening at
155 157 // the time of the second parent will take care of combining the
156 158 // two TimeStampedPathCopies instance.
157 159 match all_copies.remove(child) {
158 160 None => {
159 161 all_copies.insert(child, new_copies);
160 162 }
161 163 Some(other_copies) => {
162 164 let (minor, major) = match parent {
163 165 1 => (other_copies, new_copies),
164 166 2 => (new_copies, other_copies),
165 167 _ => unreachable!(),
166 168 };
167 169 let merged_copies =
168 170 merge_copies_dict(minor, major, &changes, is_ancestor);
169 171 all_copies.insert(child, merged_copies);
170 172 }
171 173 };
172 174 }
173 175 }
174 176
175 177 // Drop internal information (like the timestamp) and return the final
176 178 // mapping.
177 179 let tt_result = all_copies
178 180 .remove(&target_rev)
179 181 .expect("target revision was not processed");
180 182 let mut result = PathCopies::default();
181 183 for (dest, tt_source) in tt_result {
182 184 if let Some(path) = tt_source.path {
183 185 result.insert(dest, path);
184 186 }
185 187 }
186 188 result
187 189 }
188 190
189 191 /// merge two copies-mapping together, minor and major
190 192 ///
191 193 /// In case of conflict, value from "major" will be picked, unless in some
192 194 /// cases. See inline documentation for details.
193 195 #[allow(clippy::if_same_then_else)]
194 196 fn merge_copies_dict(
195 197 minor: TimeStampedPathCopies,
196 198 major: TimeStampedPathCopies,
197 199 changes: &ChangedFiles,
198 200 is_ancestor: &impl Fn(Revision, Revision) -> bool,
199 201 ) -> TimeStampedPathCopies {
200 202 let mut result = minor.clone();
201 203 for (dest, src_major) in major {
202 204 let overwrite;
203 205 if let Some(src_minor) = minor.get(&dest) {
204 206 if src_major.path == src_minor.path {
205 207 // we have the same value, but from other source;
206 208 if src_major.rev == src_minor.rev {
207 209 // If the two entry are identical, no need to do anything
208 210 overwrite = false;
209 211 } else if is_ancestor(src_major.rev, src_minor.rev) {
210 212 overwrite = false;
211 213 } else {
212 214 overwrite = true;
213 215 }
214 216 } else if src_major.rev == src_minor.rev {
215 217 // We cannot get copy information for both p1 and p2 in the
216 218 // same rev. So this is the same value.
217 219 overwrite = false;
218 220 } else if src_major.path.is_none()
219 221 && changes.salvaged.contains(&dest)
220 222 {
221 223 // If the file is "deleted" in the major side but was salvaged
222 224 // by the merge, we keep the minor side alive
223 225 overwrite = false;
224 226 } else if src_minor.path.is_none()
225 227 && changes.salvaged.contains(&dest)
226 228 {
227 229 // If the file is "deleted" in the minor side but was salvaged
228 230 // by the merge, unconditionnaly preserve the major side.
229 231 overwrite = true;
230 232 } else if changes.merged.contains(&dest) {
231 233 // If the file was actively merged, copy information from each
232 234 // side might conflict. The major side will win such conflict.
233 235 overwrite = true;
234 236 } else if is_ancestor(src_major.rev, src_minor.rev) {
235 237 // If the minor side is strictly newer than the major side, it
236 238 // should be kept.
237 239 overwrite = false;
238 240 } else if src_major.path.is_some() {
239 241 // without any special case, the "major" value win other the
240 242 // "minor" one.
241 243 overwrite = true;
242 244 } else if is_ancestor(src_minor.rev, src_major.rev) {
243 245 // the "major" rev is a direct ancestors of "minor", any
244 246 // different value should overwrite
245 247 overwrite = true;
246 248 } else {
247 249 // major version is None (so the file was deleted on that
248 250 // branch) annd that branch is independant (neither minor nor
249 251 // major is an ancestors of the other one.) We preserve the new
250 252 // information about the new file.
251 253 overwrite = false;
252 254 }
253 255 } else {
254 256 // minor had no value
255 257 overwrite = true;
256 258 }
257 259 if overwrite {
258 260 result.insert(dest, src_major);
259 261 }
260 262 }
261 263 result
262 264 }
General Comments 0
You need to be logged in to leave comments. Login now