diff mercurial/tagmerge.py @ 45430:e47385ef4e17

grep: fix hash(linestate) to not include linenum linestate.__eq__() just compares the line values whereas __hash__() does hash both self.line and self.linenum, which violates the rule. __hash__() was added at fb502719c75c, "python 2.6 compatibility: add __hash__ to classes that have __eq__" with no additional remarks, so this would probably be a simple mistake. The test output changed because difflib.SequenceMatcher() internally uses a dict. As you can see, the line "export" is unchanged at the revision 2, so the new output is correct.
author Yuya Nishihara <yuya@tcha.org>
date Wed, 09 Sep 2020 11:41:18 +0900
parents 687b865b95ad
children 89a2afe31e82
line wrap: on
line diff