Mercurial > hg-stable
comparison mercurial/merge.py @ 26786:121f80d14e4b
merge.applyupdates: call driverpreprocess before starting merge actions
We also need to update our internal state to whatever state driverpreprocess
leaves it in.
Adding an error state separate from the unresolved count is too big a
refactoring for now, so we hack around it by setting it to a positive value to
indicate an error state.
author | Siddharth Agarwal <sid0@fb.com> |
---|---|
date | Thu, 15 Oct 2015 01:19:10 -0700 |
parents | e9a0d5f5c225 |
children | 64848559413a |
comparison
equal
deleted
inserted
replaced
26785:e9a0d5f5c225 | 26786:121f80d14e4b |
---|---|
940 flags, = args | 940 flags, = args |
941 audit(f) | 941 audit(f) |
942 util.setflags(repo.wjoin(f), 'l' in flags, 'x' in flags) | 942 util.setflags(repo.wjoin(f), 'l' in flags, 'x' in flags) |
943 updated += 1 | 943 updated += 1 |
944 | 944 |
945 mergeactions = actions['m'] | |
946 # the ordering is important here -- ms.mergedriver will raise if the merge | |
947 # driver has changed, and we want to be able to bypass it when overwrite is | |
948 # True | |
949 usemergedriver = not overwrite and mergeactions and ms.mergedriver | |
950 | |
951 if usemergedriver: | |
952 ms.commit() | |
953 proceed = driverpreprocess(repo, ms, wctx, labels=labels) | |
954 # the driver might leave some files unresolved | |
955 unresolvedf = set(ms.unresolved()) | |
956 if not proceed: | |
957 # XXX setting unresolved to at least 1 is a hack to make sure we | |
958 # error out | |
959 return updated, merged, removed, max(len(unresolvedf), 1) | |
960 newactions = [] | |
961 for f, args, msg in mergeactions: | |
962 if f in unresolvedf: | |
963 newactions.append((f, args, msg)) | |
964 mergeactions = newactions | |
965 | |
945 # premerge | 966 # premerge |
946 tocomplete = [] | 967 tocomplete = [] |
947 for f, args, msg in actions['m']: | 968 for f, args, msg in actions['m']: |
948 repo.ui.debug(" %s: %s -> m (premerge)\n" % (f, msg)) | 969 repo.ui.debug(" %s: %s -> m (premerge)\n" % (f, msg)) |
949 z += 1 | 970 z += 1 |