From 885197bd0600c7a0ca4b5571b1e6c15d986928dd Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Wed, 20 May 2020 16:02:28 -0400 Subject: [PATCH] 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). --- modules/tools/magit/autoload.el | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/modules/tools/magit/autoload.el b/modules/tools/magit/autoload.el index b434739ef..03682c185 100644 --- a/modules/tools/magit/autoload.el +++ b/modules/tools/magit/autoload.el @@ -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...