Adding three menus to the git-status-mode of git.el : One for marking and unmarking, one for what you do when you have a conflict, and the other one for all the rest. Signed-off-by: Rémi Vanicat <vanicat@xxxxxxxxxx> --- Alexandre Julliard <julliard@xxxxxxxxxx> writes: > "=?utf-8?q?R=C3=A9mi=20Vanicat?=" <vanicat@xxxxxxxxxx>, Remi Vanicat > <vanicat@xxxxxxxxxx> writes: > >> Adding three menu to the git-status-mode of git.el : One for marking >> and unmarking, one for every thing you need when you have a conflict, >> and a last one for all the rest. >> >> Signed-off-by: Rémi Vanicat <vanicat@xxxxxxxxxx> > > It looks good to me. A couple of minor details: Here is the corrected patch [...] > BTW do you have a copyright assignment for Emacs? No, should I seek one ? contrib/emacs/git.el | 48 ++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 46 insertions(+), 2 deletions(-) diff --git a/contrib/emacs/git.el b/contrib/emacs/git.el index e147da0..1db7698 100644 --- a/contrib/emacs/git.el +++ b/contrib/emacs/git.el @@ -49,7 +49,7 @@ (eval-when-compile (require 'cl)) (require 'ewoc) (require 'log-edit) - +(require 'easymenu) ;;;; Customizations ;;;; ------------------------------------------------------------ @@ -1297,7 +1297,51 @@ Return the list of files that haven't been handled." (define-key toggle-map "i" 'git-toggle-show-ignored) (define-key toggle-map "k" 'git-toggle-show-unknown) (define-key toggle-map "m" 'git-toggle-all-marks) - (setq git-status-mode-map map))) + (setq git-status-mode-map map)) + (easy-menu-define git-menu-mark git-status-mode-map + "Git Merge Menu" + `("Merge" + ["Next Unmerged File" git-next-unmerged-file t] + ["Prev Unmerged File" git-prev-unmerged-file t] + ["Mark as Resolved" git-resolve-file t] + ["Interactive Merge File" git-find-file-imerge t] + ["Diff Against Common Base File" git-diff-file-base t] + ["Diff Combined" git-diff-file-combined t] + ["Diff Against Merge Head" git-diff-file-merge-head t] + ["Diff Against Mine" git-diff-file-mine t] + ["Diff Against Other" git-diff-file-other t])) + (easy-menu-define git-menu-mark git-status-mode-map + "Git Mark Menu" + `("Mark" + ["Mark File" git-mark-file t] + ["Mark All" git-mark-all t] + ["Unmark File" git-unmark-file t] + ["Unmark All" git-unmark-all t] + ["Toggle All Mark" git-toggle-all-marks t])) + (easy-menu-define git-menu git-status-mode-map + "Git Menu." + `("Git" + ["Refresh" git-refresh-status t] + ["Commit" git-commit-file t] + "--------" + ["Add File" git-add-file t] + ["Revert File" git-revert-file t] + ["Ignore File" git-ignore-file t] + ["Remove File" git-remove-file t] + "--------" + ["Find File" git-find-file t] + ["View File" git-view-file t] + ["Diff File" git-diff-file t] + ["Interctive Diff File" git-diff-file-idiff t] + ["Log" git-log-file t] + "--------" + ["Quit" git-status-quit t] + "--------" + ["Show Uptodate" git-toggle-show-uptodate :style toggle :selected git-show-uptodate] + ["Show Ignored" git-toggle-show-ignored :style toggle :selected git-show-ignored] + ["Show Unknown" git-toggle-show-unknown :style toggle :selected git-show-unknown])) + +) ;; git mode should only run in the *git status* buffer (put 'git-status-mode 'mode-class 'special) -- 1.5.3.6 - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html