mercurial/merge.py
changeset 26786 121f80d14e4b
parent 26785 e9a0d5f5c225
child 26787 64848559413a
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