##// END OF EJS Templates
mergestate: allow storing and retrieving change/delete conflicts...
Siddharth Agarwal -
r27031:8be0af32 default
parent child Browse files
Show More
@@ -16,6 +16,7 b' from .i18n import _'
16 from .node import (
16 from .node import (
17 bin,
17 bin,
18 hex,
18 hex,
19 nullhex,
19 nullid,
20 nullid,
20 nullrev,
21 nullrev,
21 )
22 )
@@ -58,6 +59,7 b' class mergestate(object):'
58 L: the node of the "local" part of the merge (hexified version)
59 L: the node of the "local" part of the merge (hexified version)
59 O: the node of the "other" part of the merge (hexified version)
60 O: the node of the "other" part of the merge (hexified version)
60 F: a file to be merged entry
61 F: a file to be merged entry
62 C: a change/delete or delete/change conflict
61 D: a file that the external merge driver will merge internally
63 D: a file that the external merge driver will merge internally
62 (experimental)
64 (experimental)
63 m: the external merge driver defined for this merge plus its run state
65 m: the external merge driver defined for this merge plus its run state
@@ -143,7 +145,7 b' class mergestate(object):'
143
145
144 self._readmergedriver = bits[0]
146 self._readmergedriver = bits[0]
145 self._mdstate = mdstate
147 self._mdstate = mdstate
146 elif rtype in 'FD':
148 elif rtype in 'FDC':
147 bits = record.split('\0')
149 bits = record.split('\0')
148 self._state[bits[0]] = bits[1:]
150 self._state[bits[0]] = bits[1:]
149 elif not rtype.islower():
151 elif not rtype.islower():
@@ -315,6 +317,10 b' class mergestate(object):'
315 for d, v in self._state.iteritems():
317 for d, v in self._state.iteritems():
316 if v[0] == 'd':
318 if v[0] == 'd':
317 records.append(('D', '\0'.join([d] + v)))
319 records.append(('D', '\0'.join([d] + v)))
320 # v[1] == local ('cd'), v[6] == other ('dc') -- not supported by
321 # older versions of Mercurial
322 elif v[1] == nullhex or v[6] == nullhex:
323 records.append(('C', '\0'.join([d] + v)))
318 else:
324 else:
319 records.append(('F', '\0'.join([d] + v)))
325 records.append(('F', '\0'.join([d] + v)))
320 return records
326 return records
General Comments 0
You need to be logged in to leave comments. Login now