   (message "adding: %S" (svn-status-marked-file-names))
   (svn-status-create-arg-file svn-status-temp-arg-file "" (svn-status-marked-files) "")
   (svn-run-svn t t 'add "add" "--targets" svn-status-temp-arg-file))
+
+(defun svn-status-make-directory (dir)
+  ;; TODO: Allow entering a URI interactively.
+  ;; Currently, `read-file-name' corrupts it.
+  (interactive (list (read-file-name "Make directory: ")))
+  (unless (string-match "^[^:/]+://" dir) ; Is it a URI?
+    (setq dir (file-relative-name dir)))
+  (svn-run-svn t t 'mkdir "mkdir" "--" dir))
 
 (defun svn-status-revert-file ()
   (interactive)

  (define-key svn-status-mode-map [??] 'svn-status-toggle-hide-unknown)
  (define-key svn-status-mode-map [?_] 'svn-status-toggle-hide-unmodified)
  (define-key svn-status-mode-map [?a] 'svn-status-add-file)
  (define-key svn-status-mode-map [?c] 'svn-status-commit-file)
  (define-key svn-status-mode-map [(meta ?c)] 'svn-status-cleanup)
  (define-key svn-status-mode-map [?U] 'svn-status-update-cmd)

                    ["svn info" svn-status-info t]
                    ["svn diff" svn-status-show-svn-diff t]
                    ["svn add" svn-status-add-file t]
                    ["svn mkdir..." svn-status-make-directory t]
                    ["svn revert" svn-status-revert-file t]
                    ["svn cleanup" svn-status-cleanup t]
                    ["Show Process Buffer" svn-status-show-process-buffer t]
