Magit не распознает репозитории git - PullRequest
2 голосов
/ 04 октября 2009

В настоящее время я пытаюсь использовать Magit с Emacs 23.1 на 64-битной Win7, но Magit не распознает мои репозитории git. Пожалуйста, имейте в виду, что я полный новичок в Emacs.

Я запускаю команду magit-status, и она запрашивает каталог, содержащий репозиторий, который я, очевидно, набираю, а затем он просто говорит каждый раз, когда я пытаюсь: «В G нет хранилища Git» e: / path / to / каталог ". Создать один? (y или n)", когда там определенно есть хранилище.

Кто-нибудь еще сталкивался с этим? Я читал, что может быть, что сам git.exe не может быть найден, и я пытался возиться с моей переменной Path, но я ничего не делал, позволяя Magit распознавать мои репозитории. Есть идеи?

Ответы [ 2 ]

4 голосов
/ 05 октября 2009

magit запускает следующую команду, чтобы найти каталог .git:

git rev-parse --git-dir

Сначала я попробую, если Emacs действительно увидит ваш git бинарный файл. Для этого, пожалуйста, откройте любой файл в вашем git-репозитории в emacs. Затем выполните M-x: shell-command и введите указанную выше команду git в командной строке: git rev-parse --git-dir.

В качестве вывода вы должны получить что-то вроде .git. Если вы получите 'git' is not recognized as an internal or external command, ..., то вам нужно убедиться, что emacs / magit может найти git. Это можно сделать, настроив magit-git-executable (M-x: customize-variable) и указав его по абсолютному пути, или убедившись, что каталог git находится в ПУТИ Windows (если вы используете msysgit , который вас попросил во время установки).

Надеюсь, это поможет!

Cheers, Daniel

1 голос
/ 20 февраля 2010

Обнаружил проблему, это функция magit-escape-for-shell, которая экранирует исполняемый файл, который не может обработать Windows. После проверки кода моей предыдущей установки стало ясно, что они изменили код без изменения версии, ПЛОХО! Вот патч, который должен исправить эту ошибку:

--- magit.el.orig       2010-02-19 16:48:43.671875000 -0500
+++ magit.el    2010-02-19 16:49:30.078125000 -0500
@@ -320,7 +320,9 @@
                     prop val))

 (defun magit-escape-for-shell (str)
-  (concat "'" (replace-regexp-in-string "'" "'\\''" str) "'"))
+  (if (not (equal system-type 'windows-nt))
+      (concat "'" (replace-regexp-in-string "'" "'\\''" str) "'")
+    str))

 (defun magit-format-commit (commit format)
   (magit-git-string "log --max-count=1 --pretty=format:%s %s" format commit))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...