equal
deleted
inserted
replaced
25 from ..interfaces import repository |
25 from ..interfaces import repository |
26 from ..revlogutils import sidedata as sidedatamod |
26 from ..revlogutils import sidedata as sidedatamod |
27 from ..utils import hashutil |
27 from ..utils import hashutil |
28 |
28 |
29 _nullhash = hashutil.sha1(sha1nodeconstants.nullid) |
29 _nullhash = hashutil.sha1(sha1nodeconstants.nullid) |
|
30 |
|
31 # revision data contains extra metadata not part of the official digest |
|
32 # Only used in changegroup >= v4. |
|
33 CG_FLAG_SIDEDATA = 1 |
30 |
34 |
31 |
35 |
32 def hashrevisionsha1(text, p1, p2): |
36 def hashrevisionsha1(text, p1, p2): |
33 """Compute the SHA-1 for revision data and its parents. |
37 """Compute the SHA-1 for revision data and its parents. |
34 |
38 |
484 store.rawdata(baserev), store.rawdata(rev) |
488 store.rawdata(baserev), store.rawdata(rev) |
485 ) |
489 ) |
486 |
490 |
487 available.add(rev) |
491 available.add(rev) |
488 |
492 |
489 sidedata = None |
493 serialized_sidedata = None |
490 if sidedata_helpers: |
494 if sidedata_helpers: |
491 sidedata = store.sidedata(rev) |
495 sidedata = store.sidedata(rev) |
492 sidedata = run_sidedata_helpers( |
496 sidedata = run_sidedata_helpers( |
493 store=store, |
497 store=store, |
494 sidedata_helpers=sidedata_helpers, |
498 sidedata_helpers=sidedata_helpers, |
495 sidedata=sidedata, |
499 sidedata=sidedata, |
496 rev=rev, |
500 rev=rev, |
497 ) |
501 ) |
498 sidedata = sidedatamod.serialize_sidedata(sidedata) |
502 if sidedata: |
|
503 serialized_sidedata = sidedatamod.serialize_sidedata(sidedata) |
|
504 |
|
505 flags = flagsfn(rev) if flagsfn else 0 |
|
506 protocol_flags = 0 |
|
507 if serialized_sidedata: |
|
508 # Advertise that sidedata exists to the other side |
|
509 protocol_flags |= CG_FLAG_SIDEDATA |
499 |
510 |
500 yield resultcls( |
511 yield resultcls( |
501 node=node, |
512 node=node, |
502 p1node=fnode(p1rev), |
513 p1node=fnode(p1rev), |
503 p2node=fnode(p2rev), |
514 p2node=fnode(p2rev), |
504 basenode=fnode(baserev), |
515 basenode=fnode(baserev), |
505 flags=flagsfn(rev) if flagsfn else 0, |
516 flags=flags, |
506 baserevisionsize=baserevisionsize, |
517 baserevisionsize=baserevisionsize, |
507 revision=revision, |
518 revision=revision, |
508 delta=delta, |
519 delta=delta, |
509 sidedata=sidedata, |
520 sidedata=serialized_sidedata, |
|
521 protocol_flags=protocol_flags, |
510 ) |
522 ) |
511 |
523 |
512 prevrev = rev |
524 prevrev = rev |
513 |
525 |
514 |
526 |