git-messenger
git-messenger copied to clipboard
Emacs Port of git-messenger.vim
git-messenger.el
git-messenger.el is Emacs port of git-messenger.vim.
git-messenger.el provides function that popup commit message at current line.
This is useful when you want to know why this line was changed.
Screenshot

Installation
git-messenger is available on MELPA and MELPA stable
You can install git-messenger with the following command.
M-x package-install [RET] git-messenger [RET]
Dependency
Supported VCS
- Git
- Subversion
- Mercurial
Commands
git-messenger:popup-message
Pop up last commit message at current line. Show detail message, Commit ID, Author,
Date and commit message with C-u prefix

Key Bindings
You can modify key bindings by customizing git-messenger-map.
| Key | Command |
|---|---|
M-w |
Copy commit message and quit |
c |
Copy commit ID and quit |
d |
Pop up git diff of last change of this line |
s |
Pop up git show --stat of last change of this line |
S |
Pop up git show --stat -p of last change of this line |
q |
Quit |
Customize
git-messenger:show-detail(Default nil)
Always show detail message if this value is t.
git-messenger:handled-backends(Default '(git svn))
Handled VCS which git-messenger uses.
Entries in this list will be tried in order to determine whether a
file is under that sort of version control.
git-messenger:use-magit-popup(Default nil)
Use magit-show-commit for showing status/diff commands
Hooks
git-messenger:before-popup-hook
Run before popup commit message. Hook function take one argument, commit message.
git-messenger:after-popup-hook
Run after popup commit message. Hook function take one argument, commit message.
git-messenger:popup-buffer-hook
Run after popup buffer.
Global Variables
You may be able to use these variables useful in commands of git-messenger-map.
git-messenger:last-message
Last popup-ed commit message
git-messenger:last-commit-id
Last popup-ed commit ID
Sample Configuration
(require 'git-messenger) ;; You need not to load if you install with package.el
(global-set-key (kbd "C-x v p") 'git-messenger:popup-message)
(define-key git-messenger-map (kbd "m") 'git-messenger:copy-message)
;; Use magit-show-commit for showing status/diff commands
(custom-set-variables
'(git-messenger:use-magit-popup t))