##// 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 624 for (b, scid, dcid) in bookmarks]
625 625
626 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 634 addsrc, adddst, advsrc, advdst, diverge, differ, invalid, same = comp
628 635
636 repo = pushop.repo
637
629 638 for b, scid, dcid in advsrc:
630 639 if b in explicit:
631 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 642 pushop.outbookmarks.append((b, dcid, scid))
634 643 # search added bookmark
635 644 for b, scid, dcid in addsrc:
@@ -655,8 +664,8 b' def _pushdiscoverybookmarks(pushop):'
655 664 if explicit:
656 665 explicit = sorted(explicit)
657 666 # we should probably list all of them
658 ui.warn(_('bookmark %s does not exist on the local '
659 'or remote repository!\n') % explicit[0])
667 pushop.ui.warn(_('bookmark %s does not exist on the local '
668 'or remote repository!\n') % explicit[0])
660 669 pushop.bkresult = 2
661 670
662 671 pushop.outbookmarks.sort()
General Comments 0
You need to be logged in to leave comments. Login now