Show More
@@ -5618,35 +5618,12 b' def postincoming(ui, repo, modheads, opt' | |||||
5618 | if modheads == 0: |
|
5618 | if modheads == 0: | |
5619 | return |
|
5619 | return | |
5620 | if optupdate: |
|
5620 | if optupdate: | |
5621 | warndest = False |
|
|||
5622 | try: |
|
5621 | try: | |
5623 | movemarkfrom = None |
|
5622 | return hg.updatetotally(ui, repo, checkout, brev) | |
5624 | if not checkout: |
|
|||
5625 | warndest = True |
|
|||
5626 | updata = destutil.destupdate(repo) |
|
|||
5627 | checkout, movemarkfrom, brev = updata |
|
|||
5628 | ret = hg.update(repo, checkout) |
|
|||
5629 | if warndest: |
|
|||
5630 | destutil.statusotherdests(ui, repo) |
|
|||
5631 | except error.UpdateAbort as inst: |
|
5623 | except error.UpdateAbort as inst: | |
5632 | msg = _("not updating: %s") % str(inst) |
|
5624 | msg = _("not updating: %s") % str(inst) | |
5633 | hint = inst.hint |
|
5625 | hint = inst.hint | |
5634 | raise error.UpdateAbort(msg, hint=hint) |
|
5626 | raise error.UpdateAbort(msg, hint=hint) | |
5635 | if not ret and movemarkfrom: |
|
|||
5636 | if movemarkfrom == repo['.'].node(): |
|
|||
5637 | pass # no-op update |
|
|||
5638 | elif bookmarks.update(repo, [movemarkfrom], repo['.'].node()): |
|
|||
5639 | ui.status(_("updating bookmark %s\n") % repo._activebookmark) |
|
|||
5640 | elif brev in repo._bookmarks: |
|
|||
5641 | if brev != repo._activebookmark: |
|
|||
5642 | ui.status(_("(activating bookmark %s)\n") % brev) |
|
|||
5643 | bookmarks.activate(repo, brev) |
|
|||
5644 | elif brev: |
|
|||
5645 | if repo._activebookmark: |
|
|||
5646 | ui.status(_("(leaving bookmark %s)\n") % |
|
|||
5647 | repo._activebookmark) |
|
|||
5648 | bookmarks.deactivate(repo) |
|
|||
5649 | return ret |
|
|||
5650 | if modheads > 1: |
|
5627 | if modheads > 1: | |
5651 | currentbranchheads = len(repo.branchheads()) |
|
5628 | currentbranchheads = len(repo.branchheads()) | |
5652 | if currentbranchheads == modheads: |
|
5629 | if currentbranchheads == modheads: | |
@@ -7071,7 +7048,6 b' def update(ui, repo, node=None, rev=None' | |||||
7071 |
|
7048 | |||
7072 | Returns 0 on success, 1 if there are unresolved files. |
|
7049 | Returns 0 on success, 1 if there are unresolved files. | |
7073 | """ |
|
7050 | """ | |
7074 | movemarkfrom = None |
|
|||
7075 | if rev and node: |
|
7051 | if rev and node: | |
7076 | raise error.Abort(_("please specify just one revision")) |
|
7052 | raise error.Abort(_("please specify just one revision")) | |
7077 |
|
7053 | |||
@@ -7084,8 +7060,6 b' def update(ui, repo, node=None, rev=None' | |||||
7084 | if check and clean: |
|
7060 | if check and clean: | |
7085 | raise error.Abort(_("cannot specify both -c/--check and -C/--clean")) |
|
7061 | raise error.Abort(_("cannot specify both -c/--check and -C/--clean")) | |
7086 |
|
7062 | |||
7087 | warndest = False |
|
|||
7088 |
|
||||
7089 | with repo.wlock(): |
|
7063 | with repo.wlock(): | |
7090 | cmdutil.clearunfinished(repo) |
|
7064 | cmdutil.clearunfinished(repo) | |
7091 |
|
7065 | |||
@@ -7098,40 +7072,10 b' def update(ui, repo, node=None, rev=None' | |||||
7098 |
|
7072 | |||
7099 | if check: |
|
7073 | if check: | |
7100 | cmdutil.bailifchanged(repo, merge=False) |
|
7074 | cmdutil.bailifchanged(repo, merge=False) | |
7101 | if rev is None: |
|
|||
7102 | updata = destutil.destupdate(repo, clean=clean, check=check) |
|
|||
7103 | rev, movemarkfrom, brev = updata |
|
|||
7104 | warndest = True |
|
|||
7105 |
|
7075 | |||
7106 | repo.ui.setconfig('ui', 'forcemerge', tool, 'update') |
|
7076 | repo.ui.setconfig('ui', 'forcemerge', tool, 'update') | |
7107 |
|
7077 | |||
7108 | if clean: |
|
7078 | return hg.updatetotally(ui, repo, rev, brev, clean=clean, check=check) | |
7109 | ret = hg.clean(repo, rev) |
|
|||
7110 | else: |
|
|||
7111 | ret = hg.update(repo, rev) |
|
|||
7112 |
|
||||
7113 | if not ret and movemarkfrom: |
|
|||
7114 | if movemarkfrom == repo['.'].node(): |
|
|||
7115 | pass # no-op update |
|
|||
7116 | elif bookmarks.update(repo, [movemarkfrom], repo['.'].node()): |
|
|||
7117 | ui.status(_("updating bookmark %s\n") % repo._activebookmark) |
|
|||
7118 | else: |
|
|||
7119 | # this can happen with a non-linear update |
|
|||
7120 | ui.status(_("(leaving bookmark %s)\n") % |
|
|||
7121 | repo._activebookmark) |
|
|||
7122 | bookmarks.deactivate(repo) |
|
|||
7123 | elif brev in repo._bookmarks: |
|
|||
7124 | if brev != repo._activebookmark: |
|
|||
7125 | ui.status(_("(activating bookmark %s)\n") % brev) |
|
|||
7126 | bookmarks.activate(repo, brev) |
|
|||
7127 | elif brev: |
|
|||
7128 | if repo._activebookmark: |
|
|||
7129 | ui.status(_("(leaving bookmark %s)\n") % |
|
|||
7130 | repo._activebookmark) |
|
|||
7131 | bookmarks.deactivate(repo) |
|
|||
7132 | if warndest: |
|
|||
7133 | destutil.statusotherdests(ui, repo) |
|
|||
7134 | return ret |
|
|||
7135 |
|
7079 | |||
7136 | @command('verify', []) |
|
7080 | @command('verify', []) | |
7137 | def verify(ui, repo): |
|
7081 | def verify(ui, repo): |
@@ -19,6 +19,7 b' from . import (' | |||||
19 | bookmarks, |
|
19 | bookmarks, | |
20 | bundlerepo, |
|
20 | bundlerepo, | |
21 | cmdutil, |
|
21 | cmdutil, | |
|
22 | destutil, | |||
22 | discovery, |
|
23 | discovery, | |
23 | error, |
|
24 | error, | |
24 | exchange, |
|
25 | exchange, | |
@@ -694,6 +695,63 b' def clean(repo, node, show_stats=True, q' | |||||
694 | _showstats(repo, stats, quietempty) |
|
695 | _showstats(repo, stats, quietempty) | |
695 | return stats[3] > 0 |
|
696 | return stats[3] > 0 | |
696 |
|
697 | |||
|
698 | # naming conflict in updatetotally() | |||
|
699 | _clean = clean | |||
|
700 | ||||
|
701 | def updatetotally(ui, repo, checkout, brev, clean=False, check=False): | |||
|
702 | """Update the working directory with extra care for non-file components | |||
|
703 | ||||
|
704 | This takes care of non-file components below: | |||
|
705 | ||||
|
706 | :bookmark: might be advanced or (in)activated | |||
|
707 | ||||
|
708 | This takes arguments below: | |||
|
709 | ||||
|
710 | :checkout: to which revision the working directory is updated | |||
|
711 | :brev: a name, which might be a bookmark to be activated after updating | |||
|
712 | :clean: whether changes in the working directory can be discarded | |||
|
713 | :check: whether changes in the working directory should be checked | |||
|
714 | ||||
|
715 | This returns whether conflict is detected at updating or not. | |||
|
716 | """ | |||
|
717 | if True: | |||
|
718 | movemarkfrom = None | |||
|
719 | warndest = False | |||
|
720 | if checkout is None: | |||
|
721 | updata = destutil.destupdate(repo, clean=clean, check=check) | |||
|
722 | checkout, movemarkfrom, brev = updata | |||
|
723 | warndest = True | |||
|
724 | ||||
|
725 | if clean: | |||
|
726 | ret = _clean(repo, checkout) | |||
|
727 | else: | |||
|
728 | ret = _update(repo, checkout) | |||
|
729 | ||||
|
730 | if not ret and movemarkfrom: | |||
|
731 | if movemarkfrom == repo['.'].node(): | |||
|
732 | pass # no-op update | |||
|
733 | elif bookmarks.update(repo, [movemarkfrom], repo['.'].node()): | |||
|
734 | ui.status(_("updating bookmark %s\n") % repo._activebookmark) | |||
|
735 | else: | |||
|
736 | # this can happen with a non-linear update | |||
|
737 | ui.status(_("(leaving bookmark %s)\n") % | |||
|
738 | repo._activebookmark) | |||
|
739 | bookmarks.deactivate(repo) | |||
|
740 | elif brev in repo._bookmarks: | |||
|
741 | if brev != repo._activebookmark: | |||
|
742 | ui.status(_("(activating bookmark %s)\n") % brev) | |||
|
743 | bookmarks.activate(repo, brev) | |||
|
744 | elif brev: | |||
|
745 | if repo._activebookmark: | |||
|
746 | ui.status(_("(leaving bookmark %s)\n") % | |||
|
747 | repo._activebookmark) | |||
|
748 | bookmarks.deactivate(repo) | |||
|
749 | ||||
|
750 | if warndest: | |||
|
751 | destutil.statusotherdests(ui, repo) | |||
|
752 | ||||
|
753 | return ret | |||
|
754 | ||||
697 | def merge(repo, node, force=None, remind=True, mergeforce=False): |
|
755 | def merge(repo, node, force=None, remind=True, mergeforce=False): | |
698 | """Branch merge with node, resolving changes. Return true if any |
|
756 | """Branch merge with node, resolving changes. Return true if any | |
699 | unresolved conflicts.""" |
|
757 | unresolved conflicts.""" |
General Comments 0
You need to be logged in to leave comments.
Login now