Subject: bug#36534: 25.2; mercurial vc-annotate sometimes fails when using the evolve mercurial extension

From: Dmitry Gutov <[email-masked]>
Date: Sat, 28 Nov 2020 20:17:08 +0200

On 26.11.2020 13:56, Lars Ingebrigtsen wrote:
> Valentin Gatien-Baron <[email-masked]> writes:
> 
>> Sometimes, vc-annotate in a file tracked by mercurial returns an
>> error like this instead of a proper annotate buffer:
> 
> [...]
> 
>> 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}"))))
> 
> (This bug report unfortunately got no response at the time.)
> 
> I'm pretty unfamiliar with Mercurial, but perhaps Dmitry has some
> comments here (added to the Cc's).

I have very little experience with Mercurial myself.

Perhaps Daniel or Andrii can comment.