equal
deleted
inserted
replaced
27 def _droponode(data): |
27 def _droponode(data): |
28 # used for compatibility for v1 |
28 # used for compatibility for v1 |
29 bits = data.split(b'\0') |
29 bits = data.split(b'\0') |
30 bits = bits[:-2] + bits[-1:] |
30 bits = bits[:-2] + bits[-1:] |
31 return b'\0'.join(bits) |
31 return b'\0'.join(bits) |
|
32 |
|
33 |
|
34 def _filectxorabsent(hexnode, ctx, f): |
|
35 if hexnode == nullhex: |
|
36 return filemerge.absentfilectx(ctx, f) |
|
37 else: |
|
38 return ctx[f] |
32 |
39 |
33 |
40 |
34 # Merge state record types. See ``mergestate`` docs for more. |
41 # Merge state record types. See ``mergestate`` docs for more. |
35 RECORD_LOCAL = b'L' |
42 RECORD_LOCAL = b'L' |
36 RECORD_OTHER = b'O' |
43 RECORD_OTHER = b'O' |
598 anccommitnode = extras.get(b'ancestorlinknode') |
605 anccommitnode = extras.get(b'ancestorlinknode') |
599 if anccommitnode: |
606 if anccommitnode: |
600 actx = self._repo[anccommitnode] |
607 actx = self._repo[anccommitnode] |
601 else: |
608 else: |
602 actx = None |
609 actx = None |
603 fcd = self._filectxorabsent(localkey, wctx, dfile) |
610 fcd = _filectxorabsent(localkey, wctx, dfile) |
604 fco = self._filectxorabsent(onode, octx, ofile) |
611 fco = _filectxorabsent(onode, octx, ofile) |
605 # TODO: move this to filectxorabsent |
612 # TODO: move this to filectxorabsent |
606 fca = self._repo.filectx(afile, fileid=anode, changectx=actx) |
613 fca = self._repo.filectx(afile, fileid=anode, changectx=actx) |
607 # "premerge" x flags |
614 # "premerge" x flags |
608 flo = fco.flags() |
615 flo = fco.flags() |
609 fla = fca.flags() |
616 fla = fca.flags() |
677 # else: regular merges (no action necessary) |
684 # else: regular merges (no action necessary) |
678 self._results[dfile] = r, action |
685 self._results[dfile] = r, action |
679 |
686 |
680 return complete, r |
687 return complete, r |
681 |
688 |
682 def _filectxorabsent(self, hexnode, ctx, f): |
|
683 if hexnode == nullhex: |
|
684 return filemerge.absentfilectx(ctx, f) |
|
685 else: |
|
686 return ctx[f] |
|
687 |
|
688 def preresolve(self, dfile, wctx): |
689 def preresolve(self, dfile, wctx): |
689 """run premerge process for dfile |
690 """run premerge process for dfile |
690 |
691 |
691 Returns whether the merge is complete, and the exit code.""" |
692 Returns whether the merge is complete, and the exit code.""" |
692 return self._resolve(True, dfile, wctx) |
693 return self._resolve(True, dfile, wctx) |