Interacting with git from within emacs is a pleasure, thanks to the official git-mode and Christian Neukirchen's fantastic gitsum mode. Here are some convenient bindings for running git-svn from emacs.
(require 'ido)
(eval-after-load "compile"
'(progn
(mapcar (lambda (defn) (add-to-list 'compilation-error-regexp-alist-alist defn))
(list '(git-svn-updated "^\t[A-Z]\t\\(.*\\)$" 1 nil nil 0 1)
'(git-svn-needs-update "^\\(.*\\): needs update$" 1 nil nil 2 1)))
(mapcar (lambda (defn) (add-to-list 'compilation-error-regexp-alist defn))
(list 'git-svn-updated 'git-svn-needs-update))))
(defun git-svn (dir)
(interactive "DSelect directory: ")
(let* ((default-directory (git-get-top-dir dir))
(compilation-buffer-name-function (lambda (major-mode-name) "*git-svn*")))
(compile (concat "git svn " (ido-completing-read "git-svn command: " (list "rebase" "dcommit" "log") nil t)))))
With the above code in your .emacs file, you can hit M-x, and type 'git-svn'. You'll then be prompted for a git directory (just as for git-status), and you'll get to choose between 'rebase', 'dcommit' and 'log'. Any filenames in the command output will be colorised and hyperlinked.
At some later point I'd like to turn this into a full-fledged git-svn mode, and hook it into git-status-mode, as Christian has done with gitsum.
Watch this space!







Recent comments
35 weeks 2 days ago
36 weeks 3 days ago
36 weeks 4 days ago
38 weeks 1 hour ago
46 weeks 4 days ago
46 weeks 5 days ago
48 weeks 3 days ago
49 weeks 4 days ago
1 year 1 day ago
1 year 4 weeks ago