summaryrefslogtreecommitdiff
path: root/lisp/km-magit.el
diff options
context:
space:
mode:
authorKyle Meyer <kyle@kyleam.com>2016-06-30 21:49:35 -0400
committerKyle Meyer <kyle@kyleam.com>2016-06-30 21:49:35 -0400
commit7891768a52c0f3e803cbde829e935cf7c4ea56bb (patch)
treeeaee8473bd319d5ee400caec85ebd71644f20234 /lisp/km-magit.el
parentd1859154e80c06964c6786f76a35b3fab0139156 (diff)
downloademacs.d-7891768a52c0f3e803cbde829e935cf7c4ea56bb.tar.gz
Add magit-cherry-toggle-upstream-section command
Diffstat (limited to 'lisp/km-magit.el')
-rw-r--r--lisp/km-magit.el19
1 files changed, 19 insertions, 0 deletions
diff --git a/lisp/km-magit.el b/lisp/km-magit.el
index 9455237..d4b89f2 100644
--- a/lisp/km-magit.el
+++ b/lisp/km-magit.el
@@ -594,6 +594,25 @@ show tags by default."
((derived-mode-p 'magit-cherry-mode)
(call-interactively #'km/magit-cherry-flip-revs))))
+(defun km/magit-cherry-insert-in-upstream ()
+ (insert ?\n)
+ (magit-insert-section (cherries)
+ (magit-insert-heading "In upstream:")
+ (magit-git-wash (apply-partially 'magit-log-wash-log 'cherry)
+ "cherry" "-v" "--abbrev"
+ (nth 1 magit-refresh-args) (nth 0 magit-refresh-args))))
+
+(defun km/magit-cherry-toggle-upstream-section ()
+ (interactive)
+ (let ((pos (point)))
+ (if (memq #'km/magit-cherry-insert-in-upstream magit-cherry-sections-hook)
+ (kill-local-variable 'magit-cherry-sections-hook)
+ (setq-local magit-cherry-sections-hook
+ (append magit-cherry-sections-hook
+ '(km/magit-cherry-insert-in-upstream))))
+ (magit-refresh-buffer)
+ (goto-char pos)))
+
(defun km/magit-diff-visit-file (&optional prev-rev other-window)
"Like `magit-diff-visit-file', but with the option to visit REV^.