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 |