[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#51497: 29.0.50; (vc-print-log) broken over TRAMP
From: |
Michael Albinus |
Subject: |
bug#51497: 29.0.50; (vc-print-log) broken over TRAMP |
Date: |
Sun, 31 Oct 2021 17:05:18 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) |
Dmitry Gutov <dgutov@yandex.ru> writes:
Hi Dmitry,
>> vc-git.el could declare a variable which determines, whether the git
>> command supports :(literal) (perhaps it does already). A user could
>> change this variable via connection-local settings.
>
> We normally use 'vc-git--program-version' for this.
>
> Can we define the variable 'vc-git--program-version' as
> connection-local or something?
--8<---------------cut here---------------start------------->8---
(defun vc-git--program-version ()
(let ((current
(if (file-remote-p default-directory)
(with-connection-local-variables
(and (local-variable-p 'vc-git--program-version)
vc-git--program-version))
vc-git--program-version)))
(or current
(let ((version-string
(vc-git--run-command-string nil "version")))
(setq version-string
(if (and version-string
;; Git for Windows appends ".windows.N" to the
;; numerical version reported by Git.
(string-match
"git version \\([0-9.]+\\)\\(\\.windows\\.[0-9]+\\)?$"
version-string))
(match-string 1 version-string)
"0"))
(if (file-remote-p default-directory)
(let ((profile (gensym "connection-local-profile-")))
(connection-local-set-profile-variables
profile `((vc-git--program-version . ,version-string))) ;
(connection-local-set-profiles
(connection-local-criteria-for-default-directory) profile))
(setq vc-git--program-version version-string))
version-string))))
--8<---------------cut here---------------end--------------->8---
Best regards, Michael.