Fix "Cannot determine magit's version" logs on Windows

Magit complains loudly (but harmlessly) when it can't determine its own
version in a sparse clone. This was fixed upstream in
magit/magit@b1b2683 for unix OSes, but not for Windows where symlinks
aren't supported, and so `magit-version` can't resolve its own repo's
root (see raxod502/straight.el#520).
This commit is contained in:
Henrik Lissner 2020-05-20 16:02:28 -04:00
parent dd0da922a3
commit 885197bd06
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395

View file

@ -1,5 +1,27 @@
;;; tools/magit/autoload.el -*- lexical-binding: t; -*-
;; HACK Magit complains loudly (but harmlessly) when it can't determine its own
;; version in a sparse clone. This was fixed upstream in
;; magit/magit@b1b2683, but only for macOS and Linux users. Windows doesn't
;; support symlinks as unix knows them, so `magit-version' can't resolve
;; its own repo's path.
;;;###autoload
(when! IS-WINDOWS
(defadvice! +magit--ignore-version-a (&optional print-dest)
:override #'magit-version
(when print-dest
(defvar magit-git-debug)
(princ (format "Magit (unknown), Git %s, Emacs %s, %s"
(or (let ((magit-git-debug
(lambda (err)
(display-warning '(magit git) err :error))))
(magit-git-version t))
"(unknown)")
emacs-version
system-type)
print-dest))
nil))
;;;###autoload
(defun +magit-display-buffer-fn (buffer)
"Same as `magit-display-buffer-traditional', except...