Subject: bug#13405: 24.3; log-view-diff-changeset reports wrong results

From: Stefan Monnier <[email-masked]>
Date: Fri, 11 Jan 2013 18:13:26 -0500

> 3) In the *vc-change-log* buffer, type D (log-view-diff-changeset) to view
>    the changeset for that single revision.
>    Emacs runs "hg diff --git -r 46768 -r 46769", but this does not show
>    the expected contents of the changeset, as the previous revision was
>    on a different named branch. Instead this shows the (large) diff between
>    the two branches. The line counts illustrate this:

>    # hg diff -r 46768 -r 46769 | wc -l   ## Diff between branches
>    102276
>    # hg diff -c 46769 | wc -l            ## Changeset diff
>    295
>    # hg log -p -r 46769 | wc -l          ## Changeset diff + hg metadata
>    302

>    The second and third commands give the expected output.
>    Can log-view-diff-changeset be changed to deal with this case more
>    gracefully ?

VC assumes you can get the changeset by running
"hg diff -r <something> -r 46769".  Is there a <something> that would
give the right answer?  Ideally this <something> should be computable
from "46769".

        Stefan