##// END OF EJS Templates
push-discovery: extract the bookmark comparison logic in its own function...
Boris Feld -
r36956:8fd9b56e default
parent child Browse files
Show More
@@ -624,12 +624,21 b' def _pushdiscoverybookmarks(pushop):'
624 for (b, scid, dcid) in bookmarks]
624 for (b, scid, dcid) in bookmarks]
625
625
626 comp = [hexifycompbookmarks(marks) for marks in comp]
626 comp = [hexifycompbookmarks(marks) for marks in comp]
627 return _processcompared(pushop, ancestors, explicit, remotebookmark, comp)
628
629 def _processcompared(pushop, pushed, explicit, remotebms, comp):
630 """take decision on bookmark to pull from the remote bookmark
631
632 Exist to help extensions who want to alter this behavior.
633 """
627 addsrc, adddst, advsrc, advdst, diverge, differ, invalid, same = comp
634 addsrc, adddst, advsrc, advdst, diverge, differ, invalid, same = comp
628
635
636 repo = pushop.repo
637
629 for b, scid, dcid in advsrc:
638 for b, scid, dcid in advsrc:
630 if b in explicit:
639 if b in explicit:
631 explicit.remove(b)
640 explicit.remove(b)
632 if not ancestors or repo[scid].rev() in ancestors:
641 if not pushed or repo[scid].rev() in pushed:
633 pushop.outbookmarks.append((b, dcid, scid))
642 pushop.outbookmarks.append((b, dcid, scid))
634 # search added bookmark
643 # search added bookmark
635 for b, scid, dcid in addsrc:
644 for b, scid, dcid in addsrc:
@@ -655,7 +664,7 b' def _pushdiscoverybookmarks(pushop):'
655 if explicit:
664 if explicit:
656 explicit = sorted(explicit)
665 explicit = sorted(explicit)
657 # we should probably list all of them
666 # we should probably list all of them
658 ui.warn(_('bookmark %s does not exist on the local '
667 pushop.ui.warn(_('bookmark %s does not exist on the local '
659 'or remote repository!\n') % explicit[0])
668 'or remote repository!\n') % explicit[0])
660 pushop.bkresult = 2
669 pushop.bkresult = 2
661
670
General Comments 0
You need to be logged in to leave comments. Login now