Subject: Re: bug#55871: Acknowledgement (27.1; vc-git.el log view 'a', 'f', 'd' do not work when following renames)

From: Eli Zaretskii <[email-masked]>
Date: Sat, 16 Dec 2023 09:21:43 +0200

> Date: Fri, 15 Dec 2023 22:45:24 +0200
> Cc: [email-masked], [email-masked]
> From: Dmitry Gutov <[email-masked]>
> 
> >> We could say that the problem is relevant to Git and Hg, and the current
> >> solution only helps Git. I'm not sure what's the best phrasing, however,
> >> which won't bloat the NEWS entry too much.
> > 
> > That'd be fine, and the wording could just use what you say above.
> 
> Ah well, while investigating what Hg does and does not, I ended up 
> implementing the change for it as well.

Thanks.

> >>> 'a' doesn't work
> >>> (evidently, "bzr annotate -r REVISION FILE" doesn't work when FILE did
> >>> not exist in REVISION, but was renamed by a later revision, and one
> >>> needs to run "bzr status -Sr REVISION" and look for the "renamed"
> >>> report in the result, which will then provide the previous name).
> >>
> >> But when we're asking for 'annotate' for a file in some old revision
> >> (under old name), it won't be the same revision where it had been
> >> renamed, 99% of the time.
> > 
> > It doesn't matter.  The above-mentioned bzr command will show the
> > telltale "RM old => new" status.  Keep in mind that "-r REVISION" in
> > bzr means "since REVISION till the current head".
> 
> Ah, you mean some code will need to search through the changes up until 
> revision to find all renames anyway?

Yes, similar to what vc-git/hg-file-name-changes do.

> I suppose that could be implemented in vc-bzr-annotate (independent
> of this changeset).

Yes, most probably.