emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] emacs-24 r117542: Fix vc-svn-ignore


From: Dmitry Gutov
Subject: [Emacs-diffs] emacs-24 r117542: Fix vc-svn-ignore
Date: Fri, 03 Oct 2014 13:15:11 +0000
User-agent: Bazaar (2.6b2)

------------------------------------------------------------
revno: 117542
revision-id: address@hidden
parent: address@hidden
fixes bug: http://debbugs.gnu.org/18619
committer: Dmitry Gutov <address@hidden>
branch nick: emacs-24
timestamp: Fri 2014-10-03 17:15:05 +0400
message:
  Fix vc-svn-ignore
  
  * lisp/vc/vc-svn.el (vc-svn-ignore-completion-table): Implement.
  (vc-svn-ignore): Use it.
modified:
  lisp/ChangeLog                 changelog-20091113204419-o5vbwnq5f7feedwu-1432
  lisp/vc/vc-svn.el              vcsvn.el-20091113204419-o5vbwnq5f7feedwu-2575
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2014-10-03 09:18:49 +0000
+++ b/lisp/ChangeLog    2014-10-03 13:15:05 +0000
@@ -1,3 +1,8 @@
+2014-10-03  Dmitry Gutov  <address@hidden>
+
+       * vc/vc-svn.el (vc-svn-ignore-completion-table): Implement.
+       (vc-svn-ignore): Use it.  (Bug#18619)
+
 2014-10-03  Martin Rudalics  <address@hidden>
 
        * frame.el (toggle-frame-maximized, toggle-frame-fullscreen):

=== modified file 'lisp/vc/vc-svn.el'
--- a/lisp/vc/vc-svn.el 2014-10-03 00:42:28 +0000
+++ b/lisp/vc/vc-svn.el 2014-10-03 13:15:05 +0000
@@ -354,14 +354,23 @@
                (concat "-r" rev))
           (vc-switches 'SVN 'checkout))))
 
-(defun vc-svn-ignore (file &optional _directory _remove)
+(defun vc-svn-ignore (file &optional directory remove)
   "Ignore FILE under Subversion.
 FILE is a file wildcard, relative to the root directory of DIRECTORY."
-  (vc-svn-command t 0 file "propedit" "svn:ignore"))
+  (let* ((ignores (vc-svn-ignore-completion-table directory))
+         (file (file-relative-name file 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))))
 
-(defun vc-svn-ignore-completion-table (_file)
-  "Return the list of ignored files."
-  )
+(defun vc-svn-ignore-completion-table (directory)
+  "Return the list of ignored files in DIRECTORY."
+  (with-temp-buffer
+    (vc-svn-command t t nil "propget" "svn:ignore" (expand-file-name 
directory))
+    (split-string (buffer-string))))
 
 (defun vc-svn-find-admin-dir (file)
   "Return the administrative directory of FILE."


reply via email to

[Prev in Thread] Current Thread [Next in Thread]