bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


From: Andy Moreton
Subject: bug#13405: 24.3; log-view-diff-changeset reports wrong results
Date: Sat, 12 Jan 2013 14:22:27 +0000
User-agent: Mozilla/5.0 (Windows NT 5.1; rv:17.0) Gecko/20130107 Thunderbird/17.0.2

On 11/01/2013 23:13, Stefan Monnier wrote:
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".

This can be done using revsets:
# hg diff -r46769^1 -r 46769 | wc -l
295

However that relies on having a new enough version of mercurial that supports the revsets syntax. The "hg diff -c" or "hg log -p" commands work with older mercurial versions that do not support revset syntax.

    AndyM






reply via email to

[Prev in Thread] Current Thread [Next in Thread]