Stefan Monnier writes: >>> We're not there yet, but the above adds info which we >>> can (and do in `elpa-admin.el`) extract from the VCS, so it's going >>> "backward". IOW, it's making things worse rather than better. >> >> You mean the addition of :release-rev, right? > > Yes. > >> Yes, it could be extracted from the VCS, but finding a generic system >> is tricky as you have mentioned. How about a new VC method >> `last-change' that takes a region and returns the last revision that >> affected it. Any backend that supports `annotate' ought to be able to >> determine it, right? > > Fine by me. As mentioned earlier, there's a good chance that if you use > a different VCS than Git, this method will sometimes end up selecting > a different commit than `elpa-admin.el`, but if we insist on supporting > a local VCS different from the one used by `elpa-admin.el`, then we > probably have to live with that. I guess so. Here is a possible patch that should behave close enough to elpa-admin.el using "blame" (an obvious exception is the missing handler for the new :merge property, but I have been wondering if it might also be fair to always add "--first-parent" for Git). The default handler just wraps vc-annotate, so it is a bit more fragile.