Next: , Previous: , Up: Installation   [Contents][Index]


2.2 Installing from the Git Repository

Magit depends on the dash and with-editor library which are available from Melpa and Melpa-Stable. Install them using M-x package-install RET <package> RET. Of course you may also install them manually from their development repository, but I won’t cover that here.

(An older release of Magit is also available from Marmalade, but no new versions will be uploaded in the future. Marmalade’s maintainer has stopped responding to requests from package maintainers who are having difficulties or require him to create an account so that they can upload their packages in the first place.)

Then clone the Magit repository:

$ git clone https://github.com/magit/magit.git ~/.emacs.d/site-lisp/magit
$ cd ~/.emacs.d/site-lisp/magit

Then compile the libraries and generate the info manuals:

$ make

If you haven’t installed dash and with-editor using Elpa or at /path/to/magit/../<package>, then you have to tell make where to find them. To do so create /path/to/magit/config.mk with the following content before running make:

LOAD_PATH  = -L /path/to/magit/lisp
LOAD_PATH += -L /path/to/dash
LOAD_PATH += -L /path/to/with-editor

Finally add this to your init file:

(add-to-list 'load-path "~/.emacs.d/site-lisp/magit/lisp")
(require 'magit)

(with-eval-after-load 'info
  (info-initialize)
  (add-to-list 'Info-directory-list
               "~/.emacs.d/site-lisp/magit/Documentation/"))

Note that you have to add the lisp subdirectory to the load-path, not the top-level of the repository, and that elements of load-path should not end with a slash, while those of Info-directory-list should.

Instead of requiring the feature magit, you could load just the autoload definitions, by loading the file magit-autoloads.el.

(load "/path/to/magit/lisp/magit-autoloads")

Instead of running Magit directly from the repository by adding that to the load-path, you might want to instead install it in some other directory using sudo make install and setting load-path accordingly.

To update Magit use:

$ git pull
$ make

At times it might be necessary to run make clean all instead.

To view all available targets use make help.

Now see Post-Installation Tasks.


Next: , Previous: , Up: Installation   [Contents][Index]