X-Git-Url: https://git.hcoop.net/bpt/emacs.git/blobdiff_plain/f78ee6afc094cdfd6162bfd645836e84875dcddf..84ac6f9d211796a458214741bdf9677b92bf1c2a:/lisp/vc/vc-svn.el diff --git a/lisp/vc/vc-svn.el b/lisp/vc/vc-svn.el index 3becd8950f..923888b460 100644 --- a/lisp/vc/vc-svn.el +++ b/lisp/vc/vc-svn.el @@ -1,6 +1,6 @@ ;;; vc-svn.el --- non-resident support for Subversion version-control -;; Copyright (C) 2003-2012 Free Software Foundation, Inc. +;; Copyright (C) 2003-2013 Free Software Foundation, Inc. ;; Author: FSF (see vc.el for full credits) ;; Maintainer: Stefan Monnier @@ -50,14 +50,21 @@ :type 'string :group 'vc-svn) -(defcustom vc-svn-global-switches nil - "Global switches to pass to any SVN command." +;; Might be nice if svn defaulted to non-interactive if stdin not tty. +;; http://svn.haxx.se/dev/archive-2008-05/0762.shtml +;; http://svn.haxx.se/dev/archive-2009-04/0094.shtml +;; Maybe newer ones do? +(defcustom vc-svn-global-switches (unless (eq system-type 'darwin) ; bug#13513 + '("--non-interactive")) + "Global switches to pass to any SVN command. +The option \"--non-interactive\" is often needed to prevent SVN +hanging while prompting for authorization." :type '(choice (const :tag "None" nil) (string :tag "Argument String") (repeat :tag "Argument List" :value ("") string)) - :version "22.1" + :version "24.4" :group 'vc-svn) (defcustom vc-svn-register-switches nil @@ -123,7 +130,7 @@ If you want to force an empty list of arguments, use t." ;;;###autoload "_svn") ;;;###autoload (t ".svn")))) ;;;###autoload (when (vc-find-root f admin-dir) -;;;###autoload (load "vc-svn") +;;;###autoload (load "vc-svn" nil t) ;;;###autoload (vc-svn-registered f)))) (defun vc-svn-registered (file) @@ -414,7 +421,7 @@ The changes are between FIRST-VERSION and SECOND-VERSION." ;; We also used to match the filename in column 0 without any ;; meta-info before it, but I believe this can never happen. (concat "^\\(\\([ACGDU]\\)\\(.[B ]\\)? \\)" - (regexp-quote (file-name-nondirectory file))) + (regexp-quote (file-relative-name file))) nil t) (cond ;; Merge successful, we are in sync with repository now @@ -600,19 +607,11 @@ NAME is assumed to be a URL." (defun vc-svn-command (buffer okstatus file-or-list &rest flags) "A wrapper around `vc-do-command' for use in vc-svn.el. The difference to vc-do-command is that this function always invokes `svn', -and that it passes \"--non-interactive\" and `vc-svn-global-switches' to -it before FLAGS." - ;; Might be nice if svn defaulted to non-interactive if stdin not tty. - ;; http://svn.haxx.se/dev/archive-2008-05/0762.shtml - ;; http://svn.haxx.se/dev/archive-2009-04/0094.shtml - ;; Maybe newer ones do? - (or (member "--non-interactive" - (setq flags (if (stringp vc-svn-global-switches) - (cons vc-svn-global-switches flags) - (append vc-svn-global-switches flags)))) - (setq flags (cons "--non-interactive" flags))) +and that it passes `vc-svn-global-switches' to it before FLAGS." (apply 'vc-do-command (or buffer "*vc*") okstatus vc-svn-program file-or-list - flags)) + (if (stringp vc-svn-global-switches) + (cons vc-svn-global-switches flags) + (append vc-svn-global-switches flags)))) (defun vc-svn-repository-hostname (dirname) (with-temp-buffer