Subject: bug#50344: C-x v keybinding for vc-print-branch-log

From: Juri Linkov <[email-masked]>
Date: Thu, 09 Sep 2021 20:39:57 +0300

>>> Speaking of (re)moving bindings: 'C-x v b' (vc-switch-backend) seems
>>> particularly useless.
>> Oh, wow.  What's the use case for that command?  I can't imagine when
>> that would actually do something useful...  And it's a really old
>> command, too -- perhaps this was something that made sense in an RCS
>> world?
>
> I think it's for the case of nested repositories, like in bug#42966 and
> other linked reports. And perhaps our detection might make the wrong
> choice, thus it can be tweaked manually.
>
> I don't have any specific scenario in mind, though. Or personal experience
> with such nesting.
>
>>> If we do this the conservative way, though, the whole procedure can
>>> span half a decade:
>>>
>>> - Move vc-switch-backend to 'C-x v B' (Emacs 28)
>>> - Move branch-map to 'b' and vc-create-tag to 'C-x v b c' (Emacs 29)
>>> - Finally move vc-search-log to 'C-x v s' (Emacs 30)
>> We could do the first two steps in Emacs 28, perhaps -- if anybody's
>> actually using `C-x v b', they'll then get
>> C-x v b-
>> in the echo area, which should tell them that something's different is
>> happening now...
>
> Works for me.
>
> Juri, what do you say?

I think in the long-term it would be nice to have these keybindings:

C-x v B   - vc-switch-backend
C-x v b c - vc-create-tag (maybe it should have an alias 'vc-create-branch'?)
C-x v b l - vc-print-branch-log
C-x v b s - vc-retrieve-tag (maybe it should have an alias 'vc-switch-branch'?)
C-x v s   - vc-log-search
C-x v r   - free, any ideas what to bind to it?

Since `C-x v b' will show "C-x v b-" in the echo area,
and `C-x v s' will show "Search log with pattern: " in the minibuffer.
and `C-x v r' will show "C-x v r is undefined",
I see no problem in adding all keybindings before the next release.