   (setq arg (svn-status-possibly-negate-meaning-of-arg arg 'svn-status))
   (unless (file-directory-p dir)
     (error "%s is not a directory" dir))
-  (if (not (file-exists-p (concat dir "/.svn/")))
+  (if (not (file-exists-p (concat dir "/" (svn-wc-adm-dir-name) "/")))
       (when (y-or-n-p
              (concat dir
-                     " does not seem to be a Subversion working copy (no .svn directory).  "
+                     " does not seem to be a Subversion working copy (no "
+                     (svn-wc-adm-dir-name) " directory).  "
                      "Run dired instead? "))
         (dired dir))
     (setq dir (file-name-as-directory dir))

  (let ((base-dir (expand-file-name default-directory))
        (dot-svn-dir)
        (dir-below (expand-file-name default-directory)))
    (setq dot-svn-dir (concat base-dir ".svn"))
    (while (when (and dir-below (file-exists-p dot-svn-dir))
             (setq base-dir (file-name-directory dot-svn-dir))
             (string-match "\\(.+/\\).+/" dir-below)
             (setq dir-below (match-string 1 dir-below))
             (setq dot-svn-dir (concat dir-below ".svn"))))
    base-dir))

(defun svn-status-save-state ()

               (with-temp-buffer
                 (if (string= revision "BASE")
                     (insert-file-contents (concat (file-name-directory file-name)
                                                   (svn-wc-adm-dir-name)
                                                   "/text-base/"
                                                   (file-name-nondirectory file-name)
                                                   ".svn-base"))
                   (progn
