   (svn-status-create-arg-file svn-status-temp-arg-file "" (svn-status-marked-files) "")
   (svn-run t t 'info "info" "--targets" svn-status-temp-arg-file))
 
-;; Todo: add possiblity to specify the revision
-(defun svn-status-blame ()
-  "Run `svn blame' on the current file."
-  (interactive)
-  ;;(svn-run t t 'blame "blame" "-r" "BASE" (svn-status-line-info->filename (svn-status-get-line-information))))
-  (svn-run t t 'blame "blame" (svn-status-line-info->filename (svn-status-get-line-information))))
+(defun svn-status-blame (revision)
+  "Run `svn blame' on the current file.
+When called with a prefix argument, ask the user for the REVISION to use."
+  (interactive "P")
+  (when current-prefix-arg
+    (setq revision (svn-status-read-revision-string "Blame for version: " "BASE")))
+  (unless revision (setq revision "BASE"))
+  (svn-run t t 'blame "blame" "-r" revision (svn-status-line-info->filename (svn-status-get-line-information))))
 
 (defun svn-status-show-svn-diff (arg)
   "Run `svn diff' on the current file.

              (insert-buffer-substring "*svn-process*")
              (when scroll-to-top
                (goto-char (point-min))))
            (other-window 1))
        (svn-status-show-process-buffer-internal scroll-to-top)))))


  (when (string= (buffer-name) svn-status-buffer-name)
    (delete-other-windows))
  (pop-to-buffer "*svn-process*")
  (svn-process-mode)
  (when svn-status-wash-control-M-in-process-buffers
    (svn-status-remove-control-M))
  (when scroll-to-top
