Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/merge.py @ 27075:6373330155b2
mergestate._resolve: don't return the action any more
This is a partial backout of an earlier diff -- now that we're storing the
results in a dict, we don't actually need this any more.
author | Siddharth Agarwal <sid0@fb.com> |
---|---|
date | Fri, 20 Nov 2015 16:32:47 -0800 |
parents | 78b0c88ab0db |
children | 09139ccf3085 |
comparison
equal
deleted
inserted
replaced
27074:78b0c88ab0db | 27075:6373330155b2 |
---|---|
413 yield f | 413 yield f |
414 | 414 |
415 def _resolve(self, preresolve, dfile, wctx, labels=None): | 415 def _resolve(self, preresolve, dfile, wctx, labels=None): |
416 """rerun merge process for file path `dfile`""" | 416 """rerun merge process for file path `dfile`""" |
417 if self[dfile] in 'rd': | 417 if self[dfile] in 'rd': |
418 return True, 0, None | 418 return True, 0 |
419 stateentry = self._state[dfile] | 419 stateentry = self._state[dfile] |
420 state, hash, lfile, afile, anode, ofile, onode, flags = stateentry | 420 state, hash, lfile, afile, anode, ofile, onode, flags = stateentry |
421 octx = self._repo[self._other] | 421 octx = self._repo[self._other] |
422 fcd = self._filectxorabsent(hash, wctx, dfile) | 422 fcd = self._filectxorabsent(hash, wctx, dfile) |
423 fco = self._filectxorabsent(onode, octx, ofile) | 423 fco = self._filectxorabsent(onode, octx, ofile) |
453 del self._state[dfile] | 453 del self._state[dfile] |
454 self._dirty = True | 454 self._dirty = True |
455 elif not r: | 455 elif not r: |
456 self.mark(dfile, 'r') | 456 self.mark(dfile, 'r') |
457 | 457 |
458 action = None | |
459 if complete: | 458 if complete: |
459 action = None | |
460 if deleted: | 460 if deleted: |
461 if not fcd.isabsent(): | 461 if not fcd.isabsent(): |
462 # cd: remote picked (or otherwise deleted) | 462 # cd: remote picked (or otherwise deleted) |
463 action = 'r' | 463 action = 'r' |
464 # else: dc: local picked (no action necessary) | 464 # else: dc: local picked (no action necessary) |
468 elif fco.isabsent(): # cd: local picked | 468 elif fco.isabsent(): # cd: local picked |
469 action = 'a' | 469 action = 'a' |
470 # else: regular merges (no action necessary) | 470 # else: regular merges (no action necessary) |
471 self._results[dfile] = r, action | 471 self._results[dfile] = r, action |
472 | 472 |
473 return complete, r, action | 473 return complete, r |
474 | 474 |
475 def _filectxorabsent(self, hexnode, ctx, f): | 475 def _filectxorabsent(self, hexnode, ctx, f): |
476 if hexnode == nullhex: | 476 if hexnode == nullhex: |
477 return filemerge.absentfilectx(ctx, f) | 477 return filemerge.absentfilectx(ctx, f) |
478 else: | 478 else: |
480 | 480 |
481 def preresolve(self, dfile, wctx, labels=None): | 481 def preresolve(self, dfile, wctx, labels=None): |
482 """run premerge process for dfile | 482 """run premerge process for dfile |
483 | 483 |
484 Returns whether the merge is complete, and the exit code.""" | 484 Returns whether the merge is complete, and the exit code.""" |
485 complete, r, action = self._resolve(True, dfile, wctx, labels=labels) | 485 return self._resolve(True, dfile, wctx, labels=labels) |
486 return complete, r | |
487 | 486 |
488 def resolve(self, dfile, wctx, labels=None): | 487 def resolve(self, dfile, wctx, labels=None): |
489 """run merge process (assuming premerge was run) for dfile | 488 """run merge process (assuming premerge was run) for dfile |
490 | 489 |
491 Returns the exit code of the merge.""" | 490 Returns the exit code of the merge.""" |
492 complete, r, action = self._resolve(False, dfile, wctx, labels=labels) | 491 return self._resolve(False, dfile, wctx, labels=labels)[1] |
493 return r | |
494 | 492 |
495 def _checkunknownfile(repo, wctx, mctx, f, f2=None): | 493 def _checkunknownfile(repo, wctx, mctx, f, f2=None): |
496 if f2 is None: | 494 if f2 is None: |
497 f2 = f | 495 f2 = f |
498 return (os.path.isfile(repo.wjoin(f)) | 496 return (os.path.isfile(repo.wjoin(f)) |