Mercurial > public > mercurial-scm > hg
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: |