update magit
[emacs.git] / .emacs.d / elisp / magit / magit-svn.el
index 0c54f9d..d08c048 100644 (file)
@@ -3,12 +3,11 @@
 ;; Copyright (C) 2008  Alex Ott
 ;; Copyright (C) 2009  Alexey Voinov
 ;; Copyright (C) 2009  John Wiegley
-;; Copyright (C) 2013  Leonardo Etcheverry
 ;; Copyright (C) 2008  Linh Dang
 ;; Copyright (C) 2008  Marcin Bachry
 ;; Copyright (C) 2008, 2009  Marius Vollmer
 ;; Copyright (C) 2010  Yann Hodique
-
+;;
 ;; Magit is free software; you can redistribute it and/or modify it
 ;; under the terms of the GNU General Public License as published by
 ;; the Free Software Foundation; either version 3, or (at your option)
 
 ;;; Commentary:
 
-;; This plug-in provides git-svn functionality as a separate component
-;; of Magit.
+;; This plug-in provides git-svn functionality as a separate component of Magit
 
 ;;; Code:
 
 (require 'magit)
-
 (eval-when-compile
-  (require 'cl-lib)
-  (require 'find-lisp))
-
-(defcustom magit-svn-externals-dir ".git_externals"
-  "Directory from repository root that stores cloned SVN externals."
-  :group 'magit
-  :type 'string)
+  (require 'cl))
 
 ;; git svn commands
 
-(magit-define-command svn-find-rev (rev &optional branch)
-  "Find commit for svn REVISION in BRANCH."
+(defun magit-svn-find-rev (rev &optional branch)
   (interactive
    (list (read-string "SVN revision: ")
          (if current-prefix-arg
            sha))
       (error "Revision %s could not be mapped to a commit" rev))))
 
-(magit-define-command svn-create-branch (name)
-  "Create svn branch NAME."
+(defun magit-svn-create-branch (name)
   (interactive "sBranch name: ")
-  (apply 'magit-run-git "svn" "branch" (append magit-custom-options (list name))))
+  (magit-run-git "svn" "branch" name))
 
-(magit-define-command svn-create-tag (name)
-  "Create svn tag NAME."
-  (interactive "sTag name: ")
-  (apply 'magit-run-git "svn" "tag" (append magit-custom-options (list name))))
-
-(magit-define-command svn-rebase ()
-  "Run git-svn rebase."
+(defun magit-svn-rebase ()
   (interactive)
-  (apply 'magit-run-git-async "svn" "rebase" magit-custom-options))
+  (magit-run-git-async "svn" "rebase"))
 
-(magit-define-command svn-dcommit ()
-  "Run git-svn dcommit."
+(defun magit-svn-dcommit ()
   (interactive)
-  (apply 'magit-run-git-async "svn" "dcommit" magit-custom-options))
-
-(magit-define-command svn-remote-update ()
-  "Run git-svn fetch."
-  (interactive)
-  (when (magit-svn-enabled)
-    (magit-run-git-async "svn" "fetch")))
+  (magit-run-git-async "svn" "dcommit"))
 
 (defun magit-svn-enabled ()
   (not (null (magit-svn-get-ref-info t))))
@@ -197,26 +173,10 @@ If USE-CACHE is non nil, use the cached information."
               " @ "
               (cdr (assoc 'revision svn-info))))))
 
-(defun magit-svn-fetch-externals()
-  "Loops through all external repos found by `magit-svn-external-directories'
-   and runs git svn fetch, and git svn rebase on each of them."
+(defun magit-svn-remote-update ()
   (interactive)
-  (let ((externals (magit-svn-external-directories)))
-    (if (not externals)
-        (message "No SVN Externals found. Check magit-svn-externals-dir.")
-      (dolist (external externals)
-        (let ((default-directory (file-name-directory external)))
-          (magit-run-git "svn" "fetch")
-          (magit-run-git "svn" "rebase")))
-      (magit-refresh))))
-
-(defun magit-svn-external-directories()
-  "Returns all .git directories within `magit-svn-externals-dir'."
-  (require 'find-lisp)
-  (find-lisp-find-files-internal (expand-file-name magit-svn-externals-dir)
-                                 '(lambda(file dir)
-                                    (string-equal file ".git"))
-                                 'find-lisp-default-directory-predicate))
+  (when (magit-svn-enabled)
+    (magit-run-git-async "svn" "fetch")))
 
 (easy-menu-define magit-svn-extension-menu
   nil
@@ -242,9 +202,6 @@ If USE-CACHE is non nil, use the cached information."
   (magit-key-mode-insert-action 'svn "f" "Fetch" 'magit-svn-remote-update)
   (magit-key-mode-insert-action 'svn "s" "Find rev" 'magit-svn-find-rev)
   (magit-key-mode-insert-action 'svn "B" "Create branch" 'magit-svn-create-branch)
-  (magit-key-mode-insert-action 'svn "T" "Create tag" 'magit-svn-create-tag)
-  (magit-key-mode-insert-action 'svn "x" "Fetch Externals" 'magit-svn-fetch-externals)
-  (magit-key-mode-insert-switch 'svn "-n" "Dry run" "--dry-run")
 
   ;; generate and bind the menu popup function
   (magit-key-mode-generate 'svn))