equal
deleted
inserted
replaced
9 |
9 |
10 import collections |
10 import collections |
11 import weakref |
11 import weakref |
12 |
12 |
13 from .i18n import _ |
13 from .i18n import _ |
14 from .node import ( |
14 from .node import short |
15 nullid, |
|
16 short, |
|
17 ) |
|
18 from . import ( |
15 from . import ( |
19 bookmarks, |
16 bookmarks, |
20 error, |
17 error, |
21 mdiff, |
18 mdiff, |
22 narrowspec, |
19 narrowspec, |
302 common |= {head for head in remoteheads if has_node(head)} |
299 common |= {head for head in remoteheads if has_node(head)} |
303 |
300 |
304 if set(remoteheads).issubset(common): |
301 if set(remoteheads).issubset(common): |
305 fetch = [] |
302 fetch = [] |
306 |
303 |
307 common.discard(nullid) |
304 common.discard(repo.nullid) |
308 |
305 |
309 return common, fetch, remoteheads |
306 return common, fetch, remoteheads |
310 |
307 |
311 |
308 |
312 def _fetchchangesets(repo, tr, remote, common, fetch, remoteheads): |
309 def _fetchchangesets(repo, tr, remote, common, fetch, remoteheads): |
411 cset[b'parents'][0], |
408 cset[b'parents'][0], |
412 cset[b'parents'][1], |
409 cset[b'parents'][1], |
413 # Linknode is always itself for changesets. |
410 # Linknode is always itself for changesets. |
414 cset[b'node'], |
411 cset[b'node'], |
415 # We always send full revisions. So delta base is not set. |
412 # We always send full revisions. So delta base is not set. |
416 nullid, |
413 repo.nullid, |
417 mdiff.trivialdiffheader(len(data)) + data, |
414 mdiff.trivialdiffheader(len(data)) + data, |
418 # Flags not yet supported. |
415 # Flags not yet supported. |
419 0, |
416 0, |
420 # Sidedata not yet supported |
417 # Sidedata not yet supported |
421 {}, |
418 {}, |
476 |
473 |
477 if b'delta' in extrafields: |
474 if b'delta' in extrafields: |
478 basenode = manifest[b'deltabasenode'] |
475 basenode = manifest[b'deltabasenode'] |
479 delta = extrafields[b'delta'] |
476 delta = extrafields[b'delta'] |
480 elif b'revision' in extrafields: |
477 elif b'revision' in extrafields: |
481 basenode = nullid |
478 basenode = repo.nullid |
482 revision = extrafields[b'revision'] |
479 revision = extrafields[b'revision'] |
483 delta = mdiff.trivialdiffheader(len(revision)) + revision |
480 delta = mdiff.trivialdiffheader(len(revision)) + revision |
484 else: |
481 else: |
485 continue |
482 continue |
486 |
483 |
608 |
605 |
609 if b'delta' in extrafields: |
606 if b'delta' in extrafields: |
610 basenode = filerevision[b'deltabasenode'] |
607 basenode = filerevision[b'deltabasenode'] |
611 delta = extrafields[b'delta'] |
608 delta = extrafields[b'delta'] |
612 elif b'revision' in extrafields: |
609 elif b'revision' in extrafields: |
613 basenode = nullid |
610 basenode = repo.nullid |
614 revision = extrafields[b'revision'] |
611 revision = extrafields[b'revision'] |
615 delta = mdiff.trivialdiffheader(len(revision)) + revision |
612 delta = mdiff.trivialdiffheader(len(revision)) + revision |
616 else: |
613 else: |
617 continue |
614 continue |
618 |
615 |
703 |
700 |
704 if b'delta' in extrafields: |
701 if b'delta' in extrafields: |
705 basenode = filerevision[b'deltabasenode'] |
702 basenode = filerevision[b'deltabasenode'] |
706 delta = extrafields[b'delta'] |
703 delta = extrafields[b'delta'] |
707 elif b'revision' in extrafields: |
704 elif b'revision' in extrafields: |
708 basenode = nullid |
705 basenode = repo.nullid |
709 revision = extrafields[b'revision'] |
706 revision = extrafields[b'revision'] |
710 delta = mdiff.trivialdiffheader(len(revision)) + revision |
707 delta = mdiff.trivialdiffheader(len(revision)) + revision |
711 else: |
708 else: |
712 continue |
709 continue |
713 |
710 |