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
12 hours 43 min ago
19 hours 40 min ago
1 day 57 min ago
2 weeks 6 days ago
5 weeks 19 hours ago
5 weeks 19 hours ago
7 weeks 2 days ago
7 weeks 2 days ago
9 weeks 3 days ago
11 weeks 5 days ago