Patchwork D2442: filemerge: do what the context __bytes__ does, but locally

login
register
mail settings
Submitter phabricator
Date Feb. 26, 2018, 5:16 a.m.
Message ID <differential-rev-PHID-DREV-ka54fnr3nb3okhvgbqmd-req@phab.mercurial-scm.org>
Download mbox | patch
Permalink /patch/28366/
State Superseded
Headers show

Comments

phabricator - Feb. 26, 2018, 5:16 a.m.
durin42 created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.

REVISION SUMMARY
  str() here is clearly the wrong thing, and I think the code is clearer
  when it doesn't just depend on the magic __{str,bytes}__ behavior.
  
  I decided to grep around for \sstr\( and see what low-hanging fruit
  that showed me. This was part of that hunt. That grep pattern still
  has some things worth exploring.

REPOSITORY
  rHG Mercurial

REVISION DETAIL
  https://phab.mercurial-scm.org/D2442

AFFECTED FILES
  mercurial/filemerge.py

CHANGE DETAILS




To: durin42, #hg-reviewers
Cc: mercurial-devel
phabricator - Feb. 26, 2018, 5:43 a.m.
indygreg accepted this revision.
indygreg added a comment.
This revision is now accepted and ready to land.


  I agree that making this behavior explicit instead of relying on coercion is better. At least in this case.

REPOSITORY
  rHG Mercurial

REVISION DETAIL
  https://phab.mercurial-scm.org/D2442

To: durin42, #hg-reviewers, indygreg
Cc: indygreg, mercurial-devel

Patch

diff --git a/mercurial/filemerge.py b/mercurial/filemerge.py
--- a/mercurial/filemerge.py
+++ b/mercurial/filemerge.py
@@ -520,8 +520,8 @@ 
             baselabel = 'base'
         env = {'HG_FILE': fcd.path(),
                'HG_MY_NODE': short(mynode),
-               'HG_OTHER_NODE': str(fco.changectx()),
-               'HG_BASE_NODE': str(fca.changectx()),
+               'HG_OTHER_NODE': short(fco.changectx().node()),
+               'HG_BASE_NODE': short(fca.changectx().node()),
                'HG_MY_ISLINK': 'l' in fcd.flags(),
                'HG_OTHER_ISLINK': 'l' in fco.flags(),
                'HG_BASE_ISLINK': 'l' in fca.flags(),