doomemacs/modules/tools/magit/README.org
Henrik Lissner 7246db457c docs: replace doom-source with doom-repo links
I will later use "source" to refer to module sources, so better we avoid
the terminology for now.
2022-02-01 18:55:27 +01:00

102 lines
4 KiB
Org Mode

← [[doom-module-index:][Back to module index]] ! [[doom-module-issues:::tools magit][Issues]] ↖ [[doom-repo:tree/develop/modules/tools/magit/][Github]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]]
--------------------------------------------------------------------------------
#+TITLE: :tools magit
#+SUBTITLE: Wield git like a wizard
#+CREATED: February 20, 2017
#+SINCE: 2.0.0
* Description :unfold:
This module provides Magit, an interface to the Git version control system.
** Maintainers
- [[doom-user:][@hlissner]]
[[doom-contrib-maintainer:][Become a maintainer?]]
** Module flags
- +forge ::
Enable Forge; a porcelain for managing Github issues and PRs from within
Emacs. Will take a while on first run to build =emacsql-sqlite=.
** Packages
- [[doom-package:][evil-magit]] if [[doom-module:][:editor evil +everywhere]]
- [[doom-package:][forge]] if [[doom-module:][+forge]]
- [[doom-package:][code-review]]
- [[doom-package:][magit]]
- [[doom-package:][magit-gitflow]]
- [[doom-package:][magit-todos]]
** Hacks
- [[doom-package:][magit]] has been modified to recognize =$XDG_CACHE_HOME/git/credential/socket=.
- [[doom-package:][magit]] has been modified to invalidate the projectile cache when you check out
a new branch or commit.
- [[doom-package:][magit]] has been modified to revert repo buffers (e.g. after changing branches)
when you later switch to them, rather than all at once.
- [[doom-package:][forge]] was modified to defer compilation of emacsql-sqlite until you try to use
forge, rather than when magit first loads (which could be as soon as startup).
** TODO Changelog
# This section will be machine generated. Don't edit it by hand.
/This module does not have a changelog yet./
* Installation
[[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]]
This module requires:
- [[https://git-scm.com/][Git]]
- [[doom-module:][+forge]] requires [[https://magit.vc/manual/forge/Token-Creation.html#Token-Creation][a Github API token]]
- [[doom-package:][code-review]] will also require a token setup (see [[https://github.com/wandersoncferreira/code-review#configuration][configuration]] for your particular forge)
* TODO Usage
#+begin_quote
🔨 /This module's usage documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
#+end_quote
Start magit with [[kbd:][<leader> g g]] (~M-x magit-status~).
If you are new to Magit, see the [[https://github.com/magit/magit#getting-started][Getting Started]] section of its project readme.
* TODO Configuration
#+begin_quote
🔨 /This module's configuration documentation is incomplete./ [[doom-contrib-module:][Complete it?]]
#+end_quote
** Enable Gravatars
To enable gravatars when viewing commits:
#+begin_src emacs-lisp
;; in $DOOMDIR/config.el
(after! magit
(setq magit-revision-show-gravatars '("^Author: " . "^Commit: ")))
#+end_src
** Enable granular diff-highlights for all hunks
By default, changes are highlighted *linewise* for all but the selected hunk.
This is so for [[https://magit.vc/manual/magit/Performance.html][performance reasons]]. You can enable character-wise highlights for
/all/ visible hunks with:
#+begin_src emacs-lisp
;; in $DOOMDIR/config.el
(after! magit
(setq magit-diff-refine-hunk 'all))
#+end_src
* Troubleshooting
/There are no known problems with this module./ [[doom-report:][Report one?]]
* Frequently asked questions
** "I recently updated and now I get 'deferred error : (wrong-type-argument sequencep code-review--auth-token-set\?)' whenever I try to review'"
The previous package "github-review" was replaced with a package that supercedes it called "code-review", which requires a simple change in your authinfo file.
#+begin_src authinfo
machine api.github.com login yourlogin^github-review password MYTOKENGOESHERE
#+end_src
becomes
#+begin_src authinfo
machine api.github.com login yourlogin^code-review password MYTOKENGOESHERE
#+end_src
* TODO Appendix
#+begin_quote
🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]]
#+end_quote