Subject: bug#2652: 23.0.91; wacky behavior of "v" command in *vc-dir* buffer

From: Dan Nicolaescu <[email-masked]>
Date: Thu, 12 Mar 2009 18:34:12 -0700 (PDT)

Miles Bader <[email-masked]> writes:

  > On Fri, Mar 13, 2009 at 9:38 AM, Dan Nicolaescu <[email-masked]> wrote:
  > >  > However, if "v" is used on a non-file line, the behavior is kind of
  > >  > weird:  It pops up a *vc-log* buffer, and allows you to enter a log
  > >  > message, but then typing C-c C-c (`log-edit-done') in the *vc-log*
  > >  > buffer to finish the commit results in an error:
  > >
  > > Can you please provide a way to reproduce this starting from emacs -Q?
  > 
  >   (1) cd to a source directory that uses git for source management
  > 
  >   (2) start emacs:  emacs -Q  -nw
  > 
  >   (3) modify any source file in that dir, e.g., add a new line "Hello"
  > to a README or something
  > 
  >   (4) Start vc-dir:  M-x vc-dir RET RET
  > 
  >   (5) In the *vc-dir* buffer, you'll see the file you modified listed;
  > the cursor should be initially positioned on the first line of the
  > buffer, i.e., not on any source file.
  > 
  >   (6) Without moving the cursor, try to commit:  v
  > 
  >   (7) Enter a log message and submit:   Oink OINK RET
  > 
  >   (8) You should get the error I mentioned
  > 
  > > What is the output of:
  > > M-: (vc-deduce-fileset) RET
  > > before you press "v" ?
  > 
  >    M-: (vc-deduce-fileset) RET
  >      => (Git ("/home/miles/src/snogray/snogray/") nil nil nil)

Ah, git.  Then is probably the same as bug#1589.
vc-git.el has problems with working with subdirectories. 

Do you get this error when you run vc-dir at the top of the git tree?