 (defun svn-status-show-process-output (cmd &optional scroll-to-top)
   "Display the result of a svn command.
 Consider svn-status-window-alist to choose the buffer name."
-  (let ((window-mode (cadr (assoc cmd svn-status-window-alist))))
+  (let ((window-mode (cadr (assoc cmd svn-status-window-alist)))
+        (process-default-directory))
     (cond ((eq window-mode nil) ;; use *svn-process* buffer
            (setq svn-status-last-output-buffer-name svn-process-buffer-name))
           ((eq window-mode t) ;; use *svn-info* buffer

              (when (string= (buffer-name) svn-status-buffer-name)
                (delete-other-windows)))
            (pop-to-buffer svn-process-buffer-name)
            (switch-to-buffer (get-buffer-create svn-status-last-output-buffer-name))
            (let ((buffer-read-only nil))
              (delete-region (point-min) (point-max))
              (insert-buffer-substring svn-process-buffer-name)

  (if svn-status-base-info
      (cadr (assoc 'repository-root svn-status-base-info))
    ""))

(defun svn-status-checkout-prefix-path ()
  "When only a part of the svn repository is checked out, return the file path for this checkout."
  (interactive)
  (svn-status-parse-info t)
  (let ((root (svn-status-base-info->repository-root))
        (url (svn-status-base-info->url))
        (p)
        (base-dir (svn-status-base-dir))
        (wc-checkout-prefix))
    (setq p (substring url (length root)))
    (setq wc-checkout-prefix (file-relative-name default-directory base-dir))
    (when (string= wc-checkout-prefix "./")
      (setq wc-checkout-prefix ""))
    ;; (message "svn-status-checkout-prefix-path: wc-checkout-prefix: '%s' p: '%s' base-dir: %s" wc-checkout-prefix p base-dir)
    (setq p (substring p 0 (- (length p) (length wc-checkout-prefix))))
    (when (interactive-p)
      (message "svn-status-checkout-prefix-path: '%s'" p))
    p))

(defun svn-status-ls (path &optional synchron)
  "Run svn ls PATH."
