Subject: 23.1; vc-dir with git uses wrong base directory

From: Tom Tromey <[email-masked]>
Date: Wed, 19 Aug 2009 15:23:38 -0600

Please write in English if possible, because the Emacs maintainers
usually do not have translators to read other languages for them.

Your bug report will be posted to the [email-masked] mailing list,
and to the gnu.emacs.bug news group.

Please describe exactly what actions triggered the bug
and the precise symptoms of the bug:

I have a git working tree.

I ran vc-dir on a subdirectory of this tree.

In *vc-dir*, I go to an edited file and type '='.

Emacs says: No changes between working revision and workfile

However, if I look at *Messages*, I can see from the "Finding changes"
output that VC is examining the wrong file -- the subdirectory's name
appears twice in the computed file name.

E.g., the message says:

Finding changes in /home/tromey/gnu/archer/archer/gdb/gdb/mi/mi-cmd-var.c...

... but no such file exists, the file is actually called

    /home/tromey/gnu/archer/archer/gdb/mi/mi-cmd-var.c

(one less "gdb" in there)

If Emacs crashed, and you have the Emacs process in the gdb debugger,
please include the output from the following gdb commands:
    `bt full' and `xbacktrace'.
If you would like to further debug the crash, please read the file
/usr/share/emacs/23.1/etc/DEBUG for instructions.

In GNU Emacs 23.1.1 (i386-redhat-linux-gnu, GTK+ Version 2.16.5)
 of 2009-08-03 on x86-5.fedora.phx.redhat.com
Windowing system distributor `The X.Org Foundation', version 11.0.10601901
configured using `configure  '--build=i386-redhat-linux-gnu' '--host=i386-redhat-linux-gnu' '--target=i586-redhat-linux-gnu' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib' '--libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/var/lib' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--with-dbus' '--with-gif' '--with-jpeg' '--with-png' '--with-rsvg' '--with-tiff' '--with-xft' '--with-xpm' '--with-x-toolkit=gtk' 'build_alias=i386-redhat-linux-gnu' 'host_alias=i386-redhat-linux-gnu' 'target_alias=i586-redhat-linux-gnu' 'CFLAGS=-DMAIL_USE_LOCKF -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i586 -mtune=generic -fasynchronous-unwind-tables''

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: Group

Minor modes in effect:
  erc-list-mode: t
  erc-menu-mode: t
  erc-autojoin-mode: t
  erc-ring-mode: t
  erc-pcomplete-mode: t
  erc-track-mode: t
  erc-track-minor-mode: t
  erc-match-mode: t
  erc-button-mode: t
  erc-fill-mode: t
  erc-stamp-mode: t
  erc-netsplit-mode: t
  erc-spelling-mode: t
  erc-truncate-mode: t
  diff-auto-refine-mode: t
  shell-dirtrack-mode: t
  gnus-undo-mode: t
  highlight-changes-visible-mode: t
  erc-status-mode: t
  erc-services-mode: t
  erc-networks-mode: t
  erc-irccontrols-mode: t
  erc-noncommands-mode: t
  erc-move-to-prompt-mode: t
  erc-readonly-mode: t
  tooltip-mode: t
  mouse-wheel-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 h e c o u t , C-u C-b k C-e <return> f o r SPC e 
x a m p l e SPC a u t o m 4 t e . c a c h e SPC ( c 
r e a t e SPC <backspace> d SPC b y SPC a u t o c o 
n f ) . <return> <return> I n SPC t h e SPC * v c <backspace> 
d <backspace> c - d 8 <backspace> i r * SPC b u g <backspace> 
f f e r SPC I SPC s e t t <backspace> <backspace> e 
e : C-u C-b C-d C-e <return> <return> C-z o C-u C-n 
C-n C-n C-SPC C-n C-n M-w C-z o C-y C-n C-o T h a t 
SPC i s , SPC t h e SPC d i r e c t o r y SPC i s SPC 
l i s t e d SPC t w i c e . <return> <return> T h i 
s SPC d o e s SPC n o t SPC s e e m SPC <M-backspace> 
<M-backspace> <M-backspace> s e e m s SPC w e i r d 
SPC t o SPC m e . SPC SPC I t <backspace> SPC t h i 
n k SPC i t SPC s h o u l d SPC o n l y SPC b e l i 
s t e d C-u C-b C-b C-b SPC C-e SPC o n c e . C-f C-f 
M-a C-o I t SPC <backspace> <backspace> s SPC t h i 
s SPC i n t e n t i o n a l ? C-z o <f10> <f10> <f10> 
<f10> <f10> <f10> C-z o C-c C-c M-x M-p <return>

Recent messages:
d is undefined
call-interactively: End of buffer
Quit
Mark set
Quit [2 times]
Auto-saving...done
Mark set [2 times]
Sending...
Sending via mail...
Sending...done

Tom