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

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

bug#36534: 25.2; mercurial vc-annotate sometimes fails when using the ev


From: Dmitry Gutov
Subject: bug#36534: 25.2; mercurial vc-annotate sometimes fails when using the evolve mercurial extension
Date: Thu, 10 Dec 2020 02:39:41 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0

Version: 28.1

Hi Valentin,

Sorry we're only doing this now.

On 07.07.2019 07:55, Valentin Gatien-Baron wrote:

Step 3 is probably an hg bug. However `hg parent` was deprecated in
2014, so people may be reluctant to change it. And it would be simpler
for vc-hg-working-revision to call `hg log -r . -T {rev}` (vc-git does
that, so I assume that it works in general on top of fixing the
current issue). `.` means the current revision, see `hg help revset`.

So something like this:
(defun vc-hg-working-revision (file)
   "Hg-specific version of `vc-working-revision'."
   (ignore-errors
     (with-output-to-string
       (vc-hg-command standard-output 0 nil
     "log" "-r" "." "--template" "{rev}"))))

(another reason to stop using `hg parents` is that during a merge, it
will in most cases print two revisions, so if you annotate a file that
was last changed in revision 123, emacs will likely get 123123 back
and `hg annotate -r 123123` will fail)

Thanks for the thorough explanation. I have installed the patch in revision 4f352ad6f1 on master. Kinda messed up the attribution, but alas, not something I can fix now.

Aside from improved compatibility, the new implementation seems considerably faster, too. Like 100ms vs 600ms on mozilla-central, which is a huge repo.





reply via email to

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