mercurial/merge.py
changeset 41039 54c3b4bd01f2
parent 39818 24e493ec2229
child 41050 6faaf3a1c6ec
equal deleted inserted replaced
41038:3913223417ea 41039:54c3b4bd01f2
  1539 
  1539 
  1540     def isempty(self):
  1540     def isempty(self):
  1541         return (not self.updatedcount and not self.mergedcount
  1541         return (not self.updatedcount and not self.mergedcount
  1542                 and not self.removedcount and not self.unresolvedcount)
  1542                 and not self.removedcount and not self.unresolvedcount)
  1543 
  1543 
       
  1544 def emptyactions():
       
  1545     """create an actions dict, to be populated and passed to applyupdates()"""
       
  1546     return dict((m, [])
       
  1547                 for m in (
       
  1548                     ACTION_ADD,
       
  1549                     ACTION_ADD_MODIFIED,
       
  1550                     ACTION_FORGET,
       
  1551                     ACTION_GET,
       
  1552                     ACTION_CHANGED_DELETED,
       
  1553                     ACTION_DELETED_CHANGED,
       
  1554                     ACTION_REMOVE,
       
  1555                     ACTION_DIR_RENAME_MOVE_LOCAL,
       
  1556                     ACTION_LOCAL_DIR_RENAME_GET,
       
  1557                     ACTION_MERGE,
       
  1558                     ACTION_EXEC,
       
  1559                     ACTION_KEEP,
       
  1560                     ACTION_PATH_CONFLICT,
       
  1561                     ACTION_PATH_CONFLICT_RESOLVE))
       
  1562 
  1544 def applyupdates(repo, actions, wctx, mctx, overwrite, labels=None):
  1563 def applyupdates(repo, actions, wctx, mctx, overwrite, labels=None):
  1545     """apply the merge action list to the working directory
  1564     """apply the merge action list to the working directory
  1546 
  1565 
  1547     wctx is the working copy context
  1566     wctx is the working copy context
  1548     mctx is the context to be merged into the working copy
  1567     mctx is the context to be merged into the working copy
  2088                                        'prompt recreating')
  2107                                        'prompt recreating')
  2089                 else:
  2108                 else:
  2090                     del actionbyfile[f]
  2109                     del actionbyfile[f]
  2091 
  2110 
  2092         # Convert to dictionary-of-lists format
  2111         # Convert to dictionary-of-lists format
  2093         actions = dict((m, [])
  2112         actions = emptyactions()
  2094                        for m in (
       
  2095                            ACTION_ADD,
       
  2096                            ACTION_ADD_MODIFIED,
       
  2097                            ACTION_FORGET,
       
  2098                            ACTION_GET,
       
  2099                            ACTION_CHANGED_DELETED,
       
  2100                            ACTION_DELETED_CHANGED,
       
  2101                            ACTION_REMOVE,
       
  2102                            ACTION_DIR_RENAME_MOVE_LOCAL,
       
  2103                            ACTION_LOCAL_DIR_RENAME_GET,
       
  2104                            ACTION_MERGE,
       
  2105                            ACTION_EXEC,
       
  2106                            ACTION_KEEP,
       
  2107                            ACTION_PATH_CONFLICT,
       
  2108                            ACTION_PATH_CONFLICT_RESOLVE))
       
  2109         for f, (m, args, msg) in actionbyfile.iteritems():
  2113         for f, (m, args, msg) in actionbyfile.iteritems():
  2110             if m not in actions:
  2114             if m not in actions:
  2111                 actions[m] = []
  2115                 actions[m] = []
  2112             actions[m].append((f, args, msg))
  2116             actions[m].append((f, args, msg))
  2113 
  2117