diff --git a/contrib/git/README.md b/contrib/git/README.md index 8a6fb4443..5b0f8a38b 100644 --- a/contrib/git/README.md +++ b/contrib/git/README.md @@ -12,6 +12,7 @@ - [Github support](#github-support) - [Magit status fullscreen](#magit-status-fullscreen) - [Magit auto-complete](#magit-auto-complete) + - [Magit SVN plugin](#magit-svn-plugin) - [Git gutter](#git-gutter) - [Git](#git) - [Working with Git](#working-with-git) @@ -85,6 +86,17 @@ function (the path should end up with a `/` to respect Emacs conventions): (setq magit-repo-dirs '("~/git/")) ``` +### Magit SVN plugin + +For convenience the magit SVN plugin can be activated directly in the Git +layer by setting the variable `git-enable-magit-svn-plugin` to `t`. + +```elisp +(defun dotspacemacs/init () + (setq-default git-enable-magit-svn-plugin t) +) +``` + ### Git gutter In graphical environment `Spacemacs` will display [git-gutter][] icons in @@ -159,7 +171,7 @@ Here are the often used bindings inside a `status buffer`: L l | open `log buffer` n | next search occurrence C-nN | previous search occurrence +N | previous search occurrence _or_ SVN sub-menu P P | push C-pq | quit diff --git a/contrib/git/config.el b/contrib/git/config.el index 484de39b0..01bb1ec02 100644 --- a/contrib/git/config.el +++ b/contrib/git/config.el @@ -15,6 +15,9 @@ (defvar git-enable-github-support nil "If non nil the Github packages and extensions are enabled.") +(defvar git-enable-magit-svn-plugin nil + "If non nil `magit-svn' plugin is enabled.") + (defvar git-magit-status-fullscreen nil "If non nil magit-status buffer is displayed in fullscreen.") diff --git a/contrib/git/packages.el b/contrib/git/packages.el index 8e5baa085..4454c232f 100644 --- a/contrib/git/packages.el +++ b/contrib/git/packages.el @@ -32,6 +32,9 @@ which require an initialization must be listed explicitly in the list.") magit-gh-pulls ))) +(when git-enable-magit-svn-plugin + (push 'magit-svn git-packages)) + (if git-gutter-use-fringe (push 'git-gutter-fringe git-packages) (push 'git-gutter git-packages)) @@ -262,6 +265,15 @@ which require an initialization must be listed explicitly in the list.") :init (add-hook 'magit-mode-hook 'turn-on-magit-gitflow) :config (spacemacs|diminish magit-gitflow-mode "Flow"))) +(defun git/init-magit-svn () + (use-package magit-svn + :commands turn-on-magit-svn + :init (add-hook 'magit-mode-hook 'turn-on-magit-svn) + :config + (progn + (evil-define-key 'emacs magit-status-mode-map + "N" 'magit-key-mode-popup-svn)))) + (defun git/init-smeargle () (use-package smeargle :defer t