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