Locking branch:  final merge of (trunk, r13544:13569) to branch. (Yes, final.)



git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/locking@853644 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/COMMITTERS b/COMMITTERS
index f6b123b..a26c5cc 100644
--- a/COMMITTERS
+++ b/COMMITTERS
@@ -113,6 +113,7 @@
         pmarek   Ph. Marek <philipp.marek@bmlv.gv.at>        (meta-data-versioning)
       markphip   Mark Phippard <MarkP@softlanding.com>       (ebcdic)
         pburba   Paul Burba <PaulB@softlanding.com>          (ebcdic)
+           kou   Kouhei Sutou <kou@cozmixng.org>             (ruby)
 
   Subprojects that are complete or abandoned:
 
diff --git a/contrib/client-side/psvn/psvn.el b/contrib/client-side/psvn/psvn.el
index 2ccb567..b8b0f71 100644
--- a/contrib/client-side/psvn/psvn.el
+++ b/contrib/client-side/psvn/psvn.el
@@ -214,6 +214,8 @@
 
 (defvar svn-status-module-name nil "A nice short name for the actual project.")
 
+(defvar svn-status-load-state-before-svn-status t "Load the ++psvn.state file, before running svn-status")
+
 ;;; hooks
 (defvar svn-log-edit-mode-hook nil "Hook run when entering `svn-log-edit-mode'.")
 (defvar svn-log-edit-done-hook nil "Hook run after commiting files via svn.")
@@ -423,6 +425,9 @@
                      "Run dired instead? "))
         (dired dir))
     (setq dir (file-name-as-directory dir))
+    (when svn-status-load-state-before-svn-status
+      (unless (string= dir (car svn-status-directory-history))
+        (svn-status-load-state t)))
     (setq svn-status-directory-history (delete dir svn-status-directory-history))
     (add-to-list 'svn-status-directory-history dir)
     (if (string= (buffer-name) "*svn-status*")
@@ -2917,7 +2922,7 @@
     (save-buffer)
     (kill-buffer buf)))
 
-(defun svn-status-load-state ()
+(defun svn-status-load-state (&optional no-error)
   (interactive)
   (let ((file (concat (svn-status-base-dir) "++psvn.state")))
     (if (file-readable-p file)
@@ -2932,9 +2937,9 @@
                 (nth 1 (assoc "elide-list" svn-status-options)))
           (setq svn-status-module-name
                 (nth 1 (assoc "module-name" svn-status-options)))
-          (when svn-status-elided-list (svn-status-apply-elide-list)))
-      (error "%s is not readable." file))
-    (message "Loaded %s" file)))
+          (when (and (interactive-p) svn-status-elided-list (svn-status-apply-elide-list)))
+          (message "psvn.el: loaded %s" file))
+      (unless no-error (error "psvn.el: %s is not readable." file)))))
 
 (defun svn-status-toggle-sort-status-buffer ()
   "If you turn off sorting, you can speed up M-x svn-status.