martinvonz added inline comments.

INLINE COMMENTS

> phillco wrote in filemerge.py:744
> Yes, and it's a bigger impact than past changes of this nature, since each 
> merged file, and its backup file, will be read again. So I think we need some 
> way to reintroduce this fast-path for two disk-backed files inside `cmp`.
> 
> I'd propose adding something like this to `filectx`:
> 
>   def ondisk():
>      """Returns True iff this filectx is directly backed by a file in the 
> filesystem and not some other abstraction. If so, callers can run system file 
> functions on it for better performance.
>      """
> 
> It'd be True only for `workingfilectx`s and `abstractfilectx`s.
> 
> Then, inside `abstractfilectx.cmp()`, check if both the caller and other are 
> on-disk and use filecmp in that case.
> 
> It's a naive first take though, so improvements are appreciated.

Can we not simply make arbitraryfilectx.cmp() something like

  def cmp(self, fctx):
      if isinstance(fctx, arbitraryfilectx):
          return filecmp.cmp(self.path(), fctx.path())
      return self.data() != otherfilectx.data()

REPOSITORY
  rHG Mercurial

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

To: phillco, #hg-reviewers
Cc: sid0, martinvonz, mercurial-devel
_______________________________________________
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel

Reply via email to