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

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

bug#14169: vc: [bzr] Small nuissance when invoking 'log-view-diff-change


From: Glenn Morris
Subject: bug#14169: vc: [bzr] Small nuissance when invoking 'log-view-diff-changeset'
Date: Wed, 24 Apr 2013 21:47:08 -0400
User-agent: Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/)

Lluís Vilanova wrote:

> When issuing 'vc-print-log', the results of "bzr log" have a line of '-'
> characters prepended to every revision.
>
> The net result is that point is set to the first line of the output,
> which is a line with '-' characters, and 'log-view-diff-changeset' is
> unable to show the diff for that line.

There's two issues here.

svn also has ----- lines, yet vc-print-log manages to move point to the
line with the first revision number on.

When visiting a file under SVN, we manage to set the working revision to
the last revision in which that file was modified. See comment in
vc-svn-parse-status:

  ;; Use the last-modified revision, so that searching in vc-print-log
  ;; output works.

vc-print-log is able to move point to this revision.


With bzr, the only revision number we can get is the one in which the
repository was last modified. If the file in question was not modified
in this revision, vc-print-log doesn't find that revision and so leaves
point at point-min.

I don't think there is any bzr fix for this.


> It also feels inconsistent that hitting 'D' on any other line of '-'
> characters shows the diff for the previous revision (while that line
> is, in fact, a prefix for the revision that comes below).

(Same issue for svn. svn also fails if you move to the first line of the
buffer.)

The second issue is that log-view-current-entry assumes that the
revision number is always on the first line of a log entry.

It finds revisions by doing (forward-line 1), then searching backwards
for log-view-message-re. This can miss revisions.
Maybe it could instead first search forwards, then backwards.
 





reply via email to

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