Re: [PATCH STABLE] keyword: use fctx.filenode() instead of internal var (issue5364)

2016-10-17 Thread Christian Ebert
* Yuya Nishihara on Friday, September 09, 2016 at 21:50:31 +0900
> On Thu, 08 Sep 2016 17:12:34 +0100, Christian Ebert wrote:
>> # HG changeset patch
>> # User Christian Ebert 
>> # Date 1473350741 -3600
>> #  Thu Sep 08 17:05:41 2016 +0100
>> # Branch stable
>> # Node ID d4f2b7b5b2e382dcc34409ddcb89b9280262c2d0
>> # Parent  e7766022a61a66a7c4218526b647f96bd442a4ce
>> keyword: use fctx.filenode() instead of internal var (issue5364)
>> 
>> I caved in to the proposal to use internal _filenode variable:
>> https://www.mercurial-scm.org/pipermail/mercurial-devel/2010-October/025237.html
> 
> Ah, I got the point why internal _filenode was preferred. I think Nicolas
> was right. Since kwfilectx_cmp() heavily depends on the internal of the 
> filectx,
> using _filenode would catch more bugs.

As mentioned in the bug tracker, the current version uses
_filenode since 4a65c9c6cd3f, and I actually cannot repro the
issue with it.

>> --- a/hgext/keyword.py
>> +++ b/hgext/keyword.py
>> @@ -739,7 +739,7 @@ def reposetup(ui, repo):
>> def kwfilectx_cmp(orig, self, fctx):
> 
> Maybe we'll have to handle _customcmp instead?
> 
> https://selenic.com/repo/hg/log?rev=bd19561b98d9%3A%3A7b038ec6c5fd

To be honest, I can't wrap my head around that. But do you simply mean
something like:

diff --git a/hgext/keyword.py b/hgext/keyword.py
--- a/hgext/keyword.py
+++ b/hgext/keyword.py
@@ -737,6 +737,8 @@ def reposetup(ui, repo):
 return ret

 def kwfilectx_cmp(orig, self, fctx):
+if fctx._customcmp:
+return fctx.comp(self)
 # keyword affects data size, comparing wdir and filelog size does
 # not make sense
 if (fctx.filenode() is None and


-- 
theatre - books - texts - movies
Black Trash Productions at home: https://blacktrash.org
Black Trash Productions on Facebook:
https://www.facebook.com/blacktrashproductions
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


[PATCH STABLE] keyword: use fctx.filenode() instead of internal var (issue5364)

2016-09-08 Thread Christian Ebert
# HG changeset patch
# User Christian Ebert 
# Date 1473350741 -3600
#  Thu Sep 08 17:05:41 2016 +0100
# Branch stable
# Node ID d4f2b7b5b2e382dcc34409ddcb89b9280262c2d0
# Parent  e7766022a61a66a7c4218526b647f96bd442a4ce
keyword: use fctx.filenode() instead of internal var (issue5364)

I caved in to the proposal to use internal _filenode variable:
https://www.mercurial-scm.org/pipermail/mercurial-devel/2010-October/025237.html

Use the exposed filenode() function instead.

diff --git a/hgext/keyword.py b/hgext/keyword.py
--- a/hgext/keyword.py
+++ b/hgext/keyword.py
@@ -739,7 +739,7 @@ def reposetup(ui, repo):
 def kwfilectx_cmp(orig, self, fctx):
 # keyword affects data size, comparing wdir and filelog size does
 # not make sense
-if (fctx._filenode is None and
+if (fctx.filenode() is None and
 (self._repo._encodefilterpats or
  kwt.match(fctx.path()) and 'l' not in fctx.flags() or
  self.size() - 4 == fctx.size()) or
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel