]> git.eshelyaron.com Git - emacs.git/commitdiff
Set correct svn:ignore property for relative filenames
authorWolfgang Scherer <wolfgang.scherer@gmx.de>
Mon, 7 Oct 2019 04:58:59 +0000 (06:58 +0200)
committerLars Ingebrigtsen <larsi@gnus.org>
Mon, 7 Oct 2019 06:15:22 +0000 (08:15 +0200)
* lisp/vc/vc-svn.el: (vc-svn-ignore) Use svn:ignore property of
immediate parent directory for wildcard specification (bug#37216).

lisp/vc/vc-svn.el

index 88a280d10f3b8d82f59c172784bfa06135cc3878..942dbd5fa5afcbafbc6548968b9d445765e4046d 100644 (file)
@@ -353,15 +353,18 @@ to the SVN command."
 
 (defun vc-svn-ignore (file &optional directory remove)
   "Ignore FILE under Subversion.
-FILE is a file wildcard, relative to the root directory of DIRECTORY."
-  (let* ((ignores (vc-svn-ignore-completion-table directory))
-         (file (file-relative-name file directory))
+FILE is a wildcard specification, either relative to
+DIRECTORY or absolute."
+  (let* ((path (directory-file-name (expand-file-name file directory)))
+         (directory (file-name-directory path))
+         (file (file-name-nondirectory path))
+         (ignores (vc-svn-ignore-completion-table directory))
          (ignores (if remove
                       (delete file ignores)
                     (push file ignores))))
     (vc-svn-command nil 0 nil nil "propset" "svn:ignore"
                     (mapconcat #'identity ignores "\n")
-                    (expand-file-name directory))))
+                    directory)))
 
 (defun vc-svn-ignore-completion-table (directory)
   "Return the list of ignored files in DIRECTORY."