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
3 days 6 hours ago
6 days 14 hours ago
6 days 20 hours ago
1 week 2 hours ago
3 weeks 5 days ago
5 weeks 6 days ago
5 weeks 6 days ago
8 weeks 1 day ago
8 weeks 1 day ago
10 weeks 2 days ago