Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/context.py @ 19604:ef7c47e4002f
basefilectx: move cmp from filectx
author | Sean Farley <sean.michael.farley@gmail.com> |
---|---|
date | Sun, 11 Aug 2013 22:56:53 -0500 |
parents | a92302f48a56 |
children | cf7322cb1c13 |
comparison
equal
deleted
inserted
replaced
19603:a92302f48a56 | 19604:ef7c47e4002f |
---|---|
521 try: | 521 try: |
522 return util.binary(self.data()) | 522 return util.binary(self.data()) |
523 except IOError: | 523 except IOError: |
524 return False | 524 return False |
525 | 525 |
526 def cmp(self, fctx): | |
527 """compare with other file context | |
528 | |
529 returns True if different than fctx. | |
530 """ | |
531 if (fctx._filerev is None | |
532 and (self._repo._encodefilterpats | |
533 # if file data starts with '\1\n', empty metadata block is | |
534 # prepended, which adds 4 bytes to filelog.size(). | |
535 or self.size() - 4 == fctx.size()) | |
536 or self.size() == fctx.size()): | |
537 return self._filelog.cmp(self._filenode, fctx.data()) | |
538 | |
539 return True | |
540 | |
526 class filectx(basefilectx): | 541 class filectx(basefilectx): |
527 """A filecontext object makes access to data related to a particular | 542 """A filecontext object makes access to data related to a particular |
528 filerevision convenient.""" | 543 filerevision convenient.""" |
529 def __init__(self, repo, path, changeid=None, fileid=None, | 544 def __init__(self, repo, path, changeid=None, fileid=None, |
530 filelog=None, changectx=None): | 545 filelog=None, changectx=None): |
580 | 595 |
581 def data(self): | 596 def data(self): |
582 return self._filelog.read(self._filenode) | 597 return self._filelog.read(self._filenode) |
583 def size(self): | 598 def size(self): |
584 return self._filelog.size(self._filerev) | 599 return self._filelog.size(self._filerev) |
585 | |
586 def cmp(self, fctx): | |
587 """compare with other file context | |
588 | |
589 returns True if different than fctx. | |
590 """ | |
591 if (fctx._filerev is None | |
592 and (self._repo._encodefilterpats | |
593 # if file data starts with '\1\n', empty metadata block is | |
594 # prepended, which adds 4 bytes to filelog.size(). | |
595 or self.size() - 4 == fctx.size()) | |
596 or self.size() == fctx.size()): | |
597 return self._filelog.cmp(self._filenode, fctx.data()) | |
598 | |
599 return True | |
600 | 600 |
601 def renamed(self): | 601 def renamed(self): |
602 """check if file was actually renamed in this changeset revision | 602 """check if file was actually renamed in this changeset revision |
603 | 603 |
604 If rename logged in file revision, we report copy for changeset only | 604 If rename logged in file revision, we report copy for changeset only |