bug-gnu-emacs
[Top][All Lists]
Advanced

[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.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]