Subject: 23.0.92; vc-svn-parse-status doesn't recognize deleted files
From: Bob Rogers <[email-masked]>
To: [email-masked]
Date: Mon, 4 May 2009 18:14:12 -0400 (EDT)

To reproduce:

   1.  "emacs -Q" in a Subversion working copy (I'm using a 1.5.0
client).

   2.  "C-x v d" to get in to VC dir mode.

   3.  Flag any file for removal via M-x vc-delete-file.  The deleted
file will show up in the VC dir window as "edited" rather than removed
(and can be reverted afterwards).

   This seems to be a simple case of failing to recognize "D" as meaning
deletion in vc-svn-parse-status; it only knows about "R".  The patch
below adds "D" as a synonym, as I assume "R" is still necessary for
compatibility with older versions of Subversion.  (Though if SVN ever
did use "R", I don't remember it.)

					-- Bob Rogers
					   http://www.rgrjr.com/

------------------------------------------------------------------------
Index: lisp/vc-svn.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/vc-svn.el,v
retrieving revision 1.113
diff -c -r1.113 vc-svn.el
*** lisp/vc-svn.el	15 Apr 2009 00:32:51 -0000	1.113
--- lisp/vc-svn.el	4 May 2009 21:59:32 -0000
***************
*** 662,668 ****
  	     'edited))
  	  ((eq status ?I)
  	   (vc-file-setprop file 'vc-state 'ignored))
! 	  ((eq status ?R)
  	   (vc-file-setprop file 'vc-state 'removed))
  	  (t 'edited)))))
      (when filename (vc-file-getprop filename 'vc-state))))
--- 662,668 ----
  	     'edited))
  	  ((eq status ?I)
  	   (vc-file-setprop file 'vc-state 'ignored))
! 	  ((memq status '(?D ?R))
  	   (vc-file-setprop file 'vc-state 'removed))
  	  (t 'edited)))))
      (when filename (vc-file-getprop filename 'vc-state))))
------------------------------------------------------------------------
In GNU Emacs 23.0.92.1 (i686-pc-linux-gnu, GTK+ Version 2.12.9)
 of 2009-04-24 on rgr
Windowing system distributor `The X.Org Foundation', version 11.0.10400090
Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default-enable-multibyte-characters: t

Major mode: VM

Minor modes in effect:
  mc-read-mode: t
  diff-auto-refine-mode: t
  shell-dirtrack-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t

Recent input:
e v e r t SPC f o o <tab> <backspace> <backspace> <return> 
M-p <return> M-p M-p M-p <return> <f8> s v n SPC d 
i f f SPC l i s p - M-b - M-b <M-backspace> c v s SPC 
M-f C-f C-f u SPC <backspace> <backspace> c SPC C-e 
<backspace> / v c - s v <tab> <return> C-x o C-u C-u 
C-n C-c C-c C-e C-M-b ( o <backspace> <backspace> C-r 
m e m q C-r C-u C-SPC C-f m C-f m M-f M-f C-f ' ( M-f 
SPC ? R ) C-e C-M-b C-M-f C-M-f C-e C-M-b C-M-b C-M-f 
C-M-f C-c C-c C-x C-s <f8> M-p <return> M-p C-_ C-x 
C-b C-n d C-n C-n SPC C-e C-M-b ( m e m b <backspace> 
q SPC M-d <backspace> M-f SPC ' ( R <backspace> ? R 
M-t C-e ) C-c C-c C-M-b C-M-f C-M-f C-e C-M-b C-M-b 
C-M-f C-M-f C-x d <return> g q C-x C-s C-x d <return> 
g p p B SPC g g q q C-_ <f8> p w d <return> s r c / 
e m a <tab> SPC - Q SPC ~ / p r o <tab> t e s <tab> 
2 / t e <tab> f o <tab> <return> s v n SPC s t a t 
<return> <f8> s v n SPC s t a t <return> s v n SPC 
r e v e r t SPC f o <tab> <backspace> <backspace> <return> 
<f8> M-p M-p M-p M-p <return> C-x C-b C-s * m a i C-a 
SPC M-< C-n C-n C-e s <backspace> v c <backspace> <backspace> 
C-n C-n C-n C-n M-> C-w C-x k <return> C-x b e m <tab> 
<return> M-x v c <backspace> <backspace> e <backspace> 
r e p o r <tab> <return>

Recent messages:
Partially completed
Completed
Partially completed
Completed
History item: 1
History item: 2
History item: 3
History item: 4
Mark saved where search started
Mark set [2 times]