bug#2641: 23.0.91; vc-dir for git uses wrong default directory

Lennart Staflin <[email protected]>
Newsgroups gmane.emacs.bugs,gmane.emacs.pretest.bugs
Message-ID <[email protected]>
With a working directory under Git control, doing a vc-dir from a
subdirectory produces a vc-dir buffer where all displayed paths are
relative to the working directory's top directory but the buffers
default directory is the subdirectory. The result is that many
commands like vc-dir-find-file and vc-diff dosen't work.

For instance, directory structure:
  top/
    .git
    foo/
      bar.txt

Doing a vc-dir from a buffer containing bar.txt gives

 VC backend : Git
 Working dir: ~/src/vcgit-bug/foo/
 Branch     : master

                          ./
                          foo/
      edited              foo/bar.txt

Moving to the foo/bar.txt line and pressing RET produces:
  "Use M-x make-directory RET RET to create the directory and its
    parents"
and a empty bar.txt buffer.


In GNU Emacs 23.0.91.3 (powerpc-apple-darwin8.11.0, NS apple-appkit-824.48)
 of 2009-03-09 on sin
Windowing system distributor `Apple', version 10.3.824
configured using `configure  '--with-ns' '--enable-maintainer-mode' 
'--without-x' '--with-jpeg' '--with-gif' '--with-png' 
'--disable-ns-self-contained' 'CFLAGS=-g''

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

Major mode: VC dir

Minor modes in effect:
  diff-auto-refine-mode: t
  erc-list-mode: t
  erc-menu-mode: t
  erc-autojoin-mode: t
  erc-ring-mode: t
  erc-networks-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-irccontrols-mode: t
  erc-noncommands-mode: t
  erc-move-to-prompt-mode: t
  erc-readonly-mode: t
  shell-dirtrack-mode: t
  show-paren-mode: t
  auto-insert-mode: t
  iswitchb-mode: t
  partial-completion-mode: t
  recentf-mode: t
  cua-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
  abbrev-mode: t

Recent input:
<left> <down> <down> <up> <right> <right> <right> <down>
<left> <down> <left> <up> <up> <up> <left> <down> <down>
<down> <down> <down> <down> <down> <down> <down> <down>
<down> <down> <down> <down> <down> <down> <down> <down>
<down> <down> <down> <down> <down> <up> <up> <up> <up>
<up> <up> <up> <up> <up> <up> C-c j i r c <return>
<prior> <prior> <down-mouse-1> <mouse-1> <end> C-c
t v <tab> <up> <down> <down> <down> <down> <tab> <down>
<down> <down> C-c w <S-f3> C-x C-f e m <tab> l e n
<tab> <return> C-x d <return> n n n n n n n n n <S-f3>
C-x C-f / C-g C-x C-z <backspace> <return> <return>
c d <return> c d SPC s r c <return> m k d i r SPC v
c g i t - b u g <return> c d SPC v c <tab> <return>
l s <return> m k d i r SPC f o o <return> t o u c h
SPC f o o / b a r . t x t <return> g i t SPC i n i
t <return> g i t SPC a d d SPC . <return> g i t SPC
s t <return> g i t SPC c i SPC - m SPC " i n i t i
a l " <return> t o u c h SPC f <backspace> C-o <return>
C-x C-f f o o <tab> b a <tab> <return> H e j <return>
C-x C-s C-x v d <return> n n = p n f C-x k <return>
C-x 1 = q <f4> C-x C-b C-x b b a r <return> C-x v d
<return> C-h v d e a <backspace> f a u l <tab> d i
r <tab> <return> <backspace> <tab> <tab> o <tab> <return>
C-x 1 <menu-bar> <help-menu> <send-emacs-bug-repor
t>

Recent messages:
History item: 5
Saving file /Users/lenst/src/vcgit-bug/foo/bar.txt...
Wrote /Users/lenst/src/vcgit-bug/foo/bar.txt
Finding changes in /Users/lenst/src/vcgit-bug/foo/foo/bar.txt...
No changes between working revision and workfile
Use M-x make-directory RET RET to create the directory and its parents
Finding changes in /Users/lenst/src/vcgit-bug/foo/foo/bar.txt...
No changes between working revision and workfile
Quit
Type C-x 4 C-o RET to restore the other window.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.