comparison mercurial/merge.py @ 27074:78b0c88ab0db

mergestate._resolve: store return code and action for each file We're going to need this to compute (a) updated/merged/unresolved counts, and (b) actions to perform on the dirstate.
author Siddharth Agarwal <sid0@fb.com>
date Fri, 20 Nov 2015 16:08:22 -0800
parents 0d61f7ec7f76
children 6373330155b2
comparison
equal deleted inserted replaced
27073:b9fc042168a4 27074:78b0c88ab0db
112 if self.mergedriver: 112 if self.mergedriver:
113 self._mdstate = 's' 113 self._mdstate = 's'
114 else: 114 else:
115 self._mdstate = 'u' 115 self._mdstate = 'u'
116 shutil.rmtree(self._repo.join('merge'), True) 116 shutil.rmtree(self._repo.join('merge'), True)
117 self._results = {}
117 self._dirty = False 118 self._dirty = False
118 119
119 def _read(self): 120 def _read(self):
120 """Analyse each record content to restore a serialized state from disk 121 """Analyse each record content to restore a serialized state from disk
121 122
148 elif rtype in 'FDC': 149 elif rtype in 'FDC':
149 bits = record.split('\0') 150 bits = record.split('\0')
150 self._state[bits[0]] = bits[1:] 151 self._state[bits[0]] = bits[1:]
151 elif not rtype.islower(): 152 elif not rtype.islower():
152 unsupported.add(rtype) 153 unsupported.add(rtype)
154 self._results = {}
153 self._dirty = False 155 self._dirty = False
154 156
155 if unsupported: 157 if unsupported:
156 raise error.UnsupportedMergeRecords(unsupported) 158 raise error.UnsupportedMergeRecords(unsupported)
157 159
464 if fcd.isabsent(): # dc: remote picked 466 if fcd.isabsent(): # dc: remote picked
465 action = 'g' 467 action = 'g'
466 elif fco.isabsent(): # cd: local picked 468 elif fco.isabsent(): # cd: local picked
467 action = 'a' 469 action = 'a'
468 # else: regular merges (no action necessary) 470 # else: regular merges (no action necessary)
471 self._results[dfile] = r, action
469 472
470 return complete, r, action 473 return complete, r, action
471 474
472 def _filectxorabsent(self, hexnode, ctx, f): 475 def _filectxorabsent(self, hexnode, ctx, f):
473 if hexnode == nullhex: 476 if hexnode == nullhex: