[PATCH 2 of 3] context: clarify why we don't compare file contents when nodeid differs

timeless timeless at gmail.com
Tue Jan 12 18:50:56 CST 2016


Could this include a reference (in the commit message or code) to the
changeset with the perf results?

On Tue, Jan 12, 2016 at 4:43 PM, Martin von Zweigbergk
<martinvonz at google.com> wrote:
> # HG changeset patch
> # User Martin von Zweigbergk <martinvonz at google.com>
> # Date 1452632994 28800
> #      Tue Jan 12 13:09:54 2016 -0800
> # Node ID 228d5d4d70b304ad1afc7dcc5b7c6b366ea5d239
> # Parent  f07b94c8bb3a311a47e91a2bc528f7d91145fc13
> context: clarify why we don't compare file contents when nodeid differs
>
> diff --git a/mercurial/context.py b/mercurial/context.py
> --- a/mercurial/context.py
> +++ b/mercurial/context.py
> @@ -140,15 +140,15 @@
>                  added.append(fn)
>              elif node2 is None:
>                  removed.append(fn)
> -            elif node2 != _newnode:
> -                # The file was not a new file in mf2, so an entry
> -                # from diff is really a difference.
> +            elif self.rev() is not None:
> +                # When comparing files between two commits, we save time by
> +                # not comparing the file contents when the nodeids differ.
> +                # Note that this means we incorrectly report a reverted change
> +                # to a file as a modification.
>                  modified.append(fn)
>              elif flag1 != flag2:
>                  modified.append(fn)
>              elif self[fn].cmp(other[fn]):
> -                # node2 was newnode, but the working file doesn't
> -                # match the one in mf1.
>                  modified.append(fn)
>              else:
>                  clean.append(fn)
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel at selenic.com
> https://selenic.com/mailman/listinfo/mercurial-devel


More information about the Mercurial-devel mailing list