Windows 10のEmacs 26.1でMagitを使う
試した環境
- Windows 10 Pro. バージョン1803
- IMEパッチ適用済みEmacs 26.1 (いわゆるNTEmacs)
- PuTTY (64bit) Release 0.70
- Magit v2.13.0
手順
Magitのインストール
M-x package-install magit
でインストールできる・・・はずなんだけど、うちの環境では Wrong number of argumentsなるエラーが出て入らなかった(´・ω・`)
仕方ないので公式リポジトリからzip取ってきて、LoadPathが通ってるところに設置。Magitの動作には以下のパッケージが要るので、必要に応じてM-x package-installする。
- async
- dash
- with-editor
- git-commit
- magit-popup
magit-popupのみ、うちの環境では(ryだったので公式リポジトリから(ry
v2.90からtransientパッケージも必要になったっぽい?
git実行ファイルの設定
Magitはgitコマンド実行時にmagit-git-executable
変数のgitコマンドを使用する。
マニュアルによれば、WindowsとmacOSではMagit読み込み時にgitコマンドの絶対パスが設定される。magit-git.elを見ると、何やらgitコマンドのパスを求める処理が確かに入っている。環境変数PATHが通っているgit.exeを自動で探してくれるようだが、上手く設定されない場合は手動で設定する。
TRAMPを使ってリモートのリポジトリを操作する場合は、magit-remote-git-executable
が使用される。大抵、リモート環境といえばUNIX系だと思うが、その場合はデフォルト値の“git”のままで動くはず。動かなければリモート環境のgitをフルパスで設定してやる。
(require 'magit) (setq magit-git-executable "U:/msys64/usr/bin/git.exe") ;(setq magit-remote-git-executable "/path/to/remote/git")
まずは何も指定せずgit管理下のファイルを開き、M-x magit-statusが動くかどうかを見るのが手っ取り早い。Git管理下にもかかわらず「Create repository in /path/to/gitrepo/?」や「Searching for program: No such file or directory, git」出たら、Magitがgitコマンドを見つけられなかった可能性が高い。それからmagit-git-executableをアレコレ指定してみるのが良いだろう。
この辺はPATHやらTRAMPの設定やら接続先の環境やらが絡んでて非常にわかりづらい。