Subject: 23.0.60; vc-dired doesn't work right with Git
From: Ian Eure <[email-masked]>
To: [email-masked]
Date: Sun, 25 Jan 2009 11:05:40 -0800

If you run vc-dired in a directory below the top of a Git working
copy, vc-dired gets confused.

e.g.:

project-a
project-a/lib

If you run vc-dired in lib, the paths in the buffer are relative to
the root, project-a. Subsequent commands on the dired buffer fail to
run, since they pass a nonexistent path to git.

The issue seems to be that vc-dired calls git diff-index, which shows
all paths relative to the WC root rather than the CWD.

In GNU Emacs 23.0.60.1 (i386-apple-darwin9.6.0, NS
apple-appkit-949.43)
  of 2009-01-20 on neutron.local
Windowing system distributor `Apple', version 10.3.949
configured using `configure  '--with-ns''

Important settings:
   value of $LC_ALL:
   value of $LC_COLLATE: en_US.UTF-8
   value of $LC_CTYPE: en_US.UTF-8
   value of $LC_MESSAGES: en_US.UTF-8
   value of $LC_MONETARY: en_US.UTF-8
   value of $LC_NUMERIC: en_US.UTF-8
   value of $LC_TIME: en_US.UTF-8
   value of $LANG: en_US.UTF-8
   value of $XMODIFIERS: nil
   locale-coding-system: utf-8-unix
   default-enable-multibyte-characters: t

Major mode: VC dir

Minor modes in effect:
   shell-dirtrack-mode: t
   tooltip-mode: t
   mouse-wheel-mode: t
   menu-bar-mode: t
   file-name-shadow-mode: t
   global-font-lock-mode: t
   font-lock-mode: t
   global-auto-composition-mode: t
   auto-composition-mode: t
   auto-encryption-mode: t
   auto-compression-mode: t
   line-number-mode: t
   transient-mark-mode: t

Recent input:
C-b C-b <return> M-( <tab> m a p c o n c a t SPC M-(
l a m b d a SPC f i l e M-b M-1 M-( M-f C-f SPC f i
l e C-f <return> <tab> f o ; e s <backspace> <backspace>
<backspace> <backspace> i l e s SPC M-" " SPC " C-e
C-x C-e C-x v d ~ / P { r <tab> <backspace> <backspace>
r <tab> t i n <tab> <return> C-x 5 b * M e s s a g
e s * <return> M-` <escape> C-g <switch-frame> <down-mouse-1>
<mouse-movement> <mouse-1> C-SPC C-M-f M-w C-p C-p
C-b C-b C-e C-x o C-x v d t i n <tab> <return> M-`
C-g C-x o C-x b s h e l C-g M-x s h e l <return> g
i t SPC l s - f i l e s SPC - z SPC - o SPC - - d i
r e c t o r y SPC - - n o <M-backspace> <M-backspace>
<M-backspace> <M-backspace> <backspace> M-` C-g <help-echo>
<help-echo> <help-echo> <switch-frame> <down-mouse-1>
<mouse-movement> <mouse-1> C-SPC C-e C-b C-b M-w <switch-frame>
<backspace> <backspace> <backspace> <backspace> <backspace>
<backspace> <backspace> <backspace> <backspace> C-y
<return> <return> c d SPC t i n <tab> <return> M-p
M-p <return> <switch-frame> <down-mouse-1> <mouse-movement>
<mouse-1> C-SPC C-e C-b C-b M-w <switch-frame> g i
t SPC C-y <return> M-x k <backspace> m a n <return>
g i t - d i f f - i n t e <backspace> <backspace> d
e x <return> <help-echo> <down-mouse-1> <mouse-1> <wheel-down>
<down-mouse-1> <mouse-1> M-p <help-echo> <help-echo>
<down-mouse-1> <mouse-1> M-p SPC . <return> C-x o C-x
b <return> C-n C-n C-n C-n C-n C-n C-n C-n C-n C-e
C-b = <help-echo> <help-echo> <help-echo> <help-echo>
<switch-frame> <switch-frame> <help-echo> <help-echo>
<down-mouse-1> <mouse-1> <menu-bar> <help-menu> <s
end-emacs-bug-report>

Recent messages:
History item: 2
Mark set [2 times]
Invoking man git-diff-index in the background
Please wait: formatting the git-diff-index man page...
git-diff-index man page formatted
comint-search-arg: Not at command line
History item: 1
Finding changes in
/Users/ieure/Projects/tinymetalhands.com/tinymetalhands/tinymetalhands/ 
products/models.py...
git (diff-index --exit-code -p HEAD nil --)
/Users/ieure/Projects/tinymetalhands.com/tinymetalhands/tinymetalhands/ 
products/models.py
No changes between working revision and workfile