Mercurial > hg
comparison mercurial/setdiscovery.py @ 47012:d55b71393907
node: replace nullid and friends with nodeconstants class
The introduction of 256bit hashes require changes to nullid and other
constant magic values. Start pushing them down from repository and
revlog where sensible.
Differential Revision: https://phab.mercurial-scm.org/D9465
author | Joerg Sonnenberger <joerg@bec.de> |
---|---|
date | Mon, 29 Mar 2021 01:52:06 +0200 |
parents | e7b4607d52e3 |
children | 6be2a7ca4b1d |
comparison
equal
deleted
inserted
replaced
46992:5fa019ceb499 | 47012:d55b71393907 |
---|---|
44 | 44 |
45 import collections | 45 import collections |
46 import random | 46 import random |
47 | 47 |
48 from .i18n import _ | 48 from .i18n import _ |
49 from .node import ( | 49 from .node import nullrev |
50 nullid, | |
51 nullrev, | |
52 ) | |
53 from . import ( | 50 from . import ( |
54 error, | 51 error, |
55 policy, | 52 policy, |
56 util, | 53 util, |
57 ) | 54 ) |
389 | 386 |
390 if audit is not None: | 387 if audit is not None: |
391 audit[b'total-roundtrips'] = 1 | 388 audit[b'total-roundtrips'] = 1 |
392 | 389 |
393 if cl.tiprev() == nullrev: | 390 if cl.tiprev() == nullrev: |
394 if srvheadhashes != [nullid]: | 391 if srvheadhashes != [cl.nullid]: |
395 return [nullid], True, srvheadhashes | 392 return [cl.nullid], True, srvheadhashes |
396 return [nullid], False, [] | 393 return [cl.nullid], False, [] |
397 else: | 394 else: |
398 # we still need the remote head for the function return | 395 # we still need the remote head for the function return |
399 with remote.commandexecutor() as e: | 396 with remote.commandexecutor() as e: |
400 fheads = e.callcommand(b'heads', {}) | 397 fheads = e.callcommand(b'heads', {}) |
401 srvheadhashes = fheads.result() | 398 srvheadhashes = fheads.result() |
404 # compatibility reasons) | 401 # compatibility reasons) |
405 ui.status(_(b"searching for changes\n")) | 402 ui.status(_(b"searching for changes\n")) |
406 | 403 |
407 knownsrvheads = [] # revnos of remote heads that are known locally | 404 knownsrvheads = [] # revnos of remote heads that are known locally |
408 for node in srvheadhashes: | 405 for node in srvheadhashes: |
409 if node == nullid: | 406 if node == cl.nullid: |
410 continue | 407 continue |
411 | 408 |
412 try: | 409 try: |
413 knownsrvheads.append(clrev(node)) | 410 knownsrvheads.append(clrev(node)) |
414 # Catches unknown and filtered nodes. | 411 # Catches unknown and filtered nodes. |
501 ui.log(b'discovery', msg, len(result), len(missing), roundtrips, elapsed) | 498 ui.log(b'discovery', msg, len(result), len(missing), roundtrips, elapsed) |
502 | 499 |
503 if audit is not None: | 500 if audit is not None: |
504 audit[b'total-roundtrips'] = roundtrips | 501 audit[b'total-roundtrips'] = roundtrips |
505 | 502 |
506 if not result and srvheadhashes != [nullid]: | 503 if not result and srvheadhashes != [cl.nullid]: |
507 if abortwhenunrelated: | 504 if abortwhenunrelated: |
508 raise error.Abort(_(b"repository is unrelated")) | 505 raise error.Abort(_(b"repository is unrelated")) |
509 else: | 506 else: |
510 ui.warn(_(b"warning: repository is unrelated\n")) | 507 ui.warn(_(b"warning: repository is unrelated\n")) |
511 return ( | 508 return ( |
512 {nullid}, | 509 {cl.nullid}, |
513 True, | 510 True, |
514 srvheadhashes, | 511 srvheadhashes, |
515 ) | 512 ) |
516 | 513 |
517 anyincoming = srvheadhashes != [nullid] | 514 anyincoming = srvheadhashes != [cl.nullid] |
518 result = {clnode(r) for r in result} | 515 result = {clnode(r) for r in result} |
519 return result, anyincoming, srvheadhashes | 516 return result, anyincoming, srvheadhashes |