GNU bug report logs - #1589
23.0.60; vc-dir erroneously reports "No changes between working revision and workfile"

Previous Next

Package: emacs;

Reported by: Eric Hanchrow <eric.hanchrow <at> gmail.com>

Date: Wed, 17 Dec 2008 06:55:39 UTC

Severity: normal

Tags: patch

Merged with 2055, 2641, 3088, 3359, 4207

Done: Glenn Morris <rgm <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 1589 in the body.
You can then email your comments to 1589 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1589; Package emacs. (Wed, 17 Dec 2008 06:55:40 GMT) Full text and rfc822 format available.

Acknowledgement sent to Eric Hanchrow <eric.hanchrow <at> gmail.com>:
New bug report received and forwarded. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Wed, 17 Dec 2008 06:55:41 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Eric Hanchrow <eric.hanchrow <at> gmail.com>
To: emacs-pretest-bug <at> gnu.org
Subject: 23.0.60; vc-dir erroneously reports "No changes between working revision and workfile"
Date: Mon, 15 Dec 2008 19:54:07 -0800
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 emacs-pretest-bug <at> gnu.org mailing list.

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

Edit the third line of this script to point to your Emacs, and then run it.

  #!/bin/sh -x

  EMACS=/usr/local/src/emacs-with-my-tweaks.git/src/emacs

  cd /tmp
  rm -rf xyzzy

  mkdir xyzzy
  cd xyzzy
  git init
  mkdir Jack Jill
  touch Jack/it Jill/it
  git add .
  git commit -m "golly!"
  echo More stuff >> Jack/it
  cd Jill

  git status
  # You should see this output:
  
  # On branch master
  # Changed but not updated:
  #   (use "git add <file>..." to update what will be committed)
  #   (use "git checkout -- <file>..." to discard changes in working directory)
  #
  #       modified:   ../Jack/it
  #

  $EMACS -Q \
      --eval '(cd "/tmp/xyzzy/Jill")' \
      --eval '(vc-dir "/tmp/xyzzy/Jill")'

  # note that we're now looking at something like

  #   VC backend : Git
  #   Working dir: /tmp/xyzzy/Jill/
  #   Branch     : master
  #   
  #                             ./
  #                             Jack/
  #        edited               Jack/it
  #   
  #   

  # That seems a bit odd, since the name "Jack/it" doesn't name anything
  # at all when interpreted relative to /tmp/xyzzy/Jill.

  # Furthermore, if you move point to "Jack/it" (by typing "n" twice),
  # and then invoke vc-diff by typing "=", Emacs will respond with "No
  # changes between working revision and workfile", which is wrong; the
  # file is indeed modified.

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/local/src/emacs/etc/DEBUG for instructions.


In GNU Emacs 23.0.60.3 (i686-pc-linux-gnu, GTK+ Version 2.14.4)
 of 2008-12-14 on debian
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: nil
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default-enable-multibyte-characters: t

Major mode: Shell

Minor modes in effect:
  erc-ring-mode: t
  erc-pcomplete-mode: t
  erc-netsplit-mode: t
  erc-button-mode: t
  erc-fill-mode: t
  erc-stamp-mode: t
  erc-autojoin-mode: t
  erc-track-mode: t
  erc-track-minor-mode: t
  erc-match-mode: t
  erc-services-mode: t
  erc-networks-mode: t
  erc-irccontrols-mode: t
  erc-noncommands-mode: t
  erc-readonly-mode: t
  desktop-save-mode: t
  display-time-mode: t
  global-auto-revert-mode: t
  diff-auto-refine-mode: t
  shell-dirtrack-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:
E T RET o o t TAB C-c C-u C-c C-@ C-c C-@ C-c C-@ 0 
_ o RET C-u C-p C-u C-p C-u C-p ESC b RET ESC > t h 
a t SPC p i x DEL c SPC i s SPC a i r b r u s h e d 
SPC b e y o n d SPC r e c o g n i t i o n RET C-c C-@ 
/ m e SPC a h o y s , SPC b e l ESC / RET C-r < e l 
i > ESC > e l i TAB : SPC b e l a t e d SPC p o n g 
RET C-c C-@ C-c C-@ C-c C-@ C-c C-@ C-c C-@ t o o f 
l e DEL DEL DEL d l e - o o RET C-c C-@ C-x d C-g C-x 
b s c h RET y e p RET w a i t . RET i s n ' t SPC " 
I R L " SPC I r e l a n d ? RET C-x b s h e RET c d 
RET c d SPC d o o TAB m z TAB DEL DEL s c TAB ESC DEL 
s c TAB ESC DEL a n TAB s c TAB m z TAB RET g i t SPC 
s t a t u s RET C-x d RET g C-n RET ESC O ESC C-o ESC 
C-o o # DEL DEL # SPC O h SPC w o w ! ! C-x C-s C-x 
k RET C-x v d RET n n = q ESC x r e p o r t - e m c 
a s TAB DEL DEL DEL a TAB RET

Recent messages:
Completed
No completions of doodles/mz
Completing file name...
No completions of doodles/mz
Completed [4 times]
Partially completed
~/doodles/anagrams/scheme/mzscheme 
Wrote /home/erich/doodles/anagrams/scheme/mzscheme/GNUmakefile
Finding changes in /home/erich/doodles/anagrams/scheme/mzscheme/scheme/mzscheme/GNUmakefile...
No changes between working revision and workfile

-- 
If there were a little guy running around inside the computer
executing our programs, he would probably have as long and
plaintive a tale to tell about his job as a federal government
employee.
        -- Paul Graham




bug reassigned from package `emacs' to `emacs,vc-dir'. Request was from Glenn Morris <rgm <at> gnu.org> to control <at> emacsbugs.donarmstrong.com. (Wed, 17 Dec 2008 19:30:03 GMT) Full text and rfc822 format available.

Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>, don <at> donarmstrong.com:
bug#1589; Package emacs,vc-dir. (Wed, 17 Dec 2008 21:20:03 GMT) Full text and rfc822 format available.

Message #10 received at 1589 <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Dan Nicolaescu <dann <at> ics.uci.edu>
To: Eric Hanchrow <eric.hanchrow <at> gmail.com>
Cc: 1589 <at> debbugs.gnu.org
Subject: Re: bug#1589: 23.0.60; vc-dir erroneously reports "No changes between working revision and workfile"
Date: Wed, 17 Dec 2008 13:14:18 -0800 (PST)
Eric Hanchrow <eric.hanchrow <at> gmail.com> writes:

  > 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 emacs-pretest-bug <at> gnu.org mailing list.
  > 
  > Please describe exactly what actions triggered the bug
  > and the precise symptoms of the bug:
  > 
  > Edit the third line of this script to point to your Emacs, and then run it.
  > 
  >   #!/bin/sh -x
  > 
  >   EMACS=/usr/local/src/emacs-with-my-tweaks.git/src/emacs
  > 
  >   cd /tmp
  >   rm -rf xyzzy
  > 
  >   mkdir xyzzy
  >   cd xyzzy
  >   git init
  >   mkdir Jack Jill
  >   touch Jack/it Jill/it
  >   git add .
  >   git commit -m "golly!"
  >   echo More stuff >> Jack/it
  >   cd Jill
  > 
  >   git status
  >   # You should see this output:
  >   
  >   # On branch master
  >   # Changed but not updated:
  >   #   (use "git add <file>..." to update what will be committed)
  >   #   (use "git checkout -- <file>..." to discard changes in working directory)
  >   #
  >   #       modified:   ../Jack/it
  >   #
  > 
  >   $EMACS -Q \
  >       --eval '(cd "/tmp/xyzzy/Jill")' \
  >       --eval '(vc-dir "/tmp/xyzzy/Jill")'
  > 
  >   # note that we're now looking at something like
  > 
  >   #   VC backend : Git
  >   #   Working dir: /tmp/xyzzy/Jill/
  >   #   Branch     : master
  >   #   
  >   #                             ./
  >   #                             Jack/
  >   #        edited               Jack/it
  >   #   
  >   #   

This is not a vc-dir problem, but a vc-git.el problem.  vc-dir just
displays whatever vc-git-dir-status returns.  In this case
vc-git-dir-status should not return anything about "Jack". 


  >   # That seems a bit odd, since the name "Jack/it" doesn't name anything
  >   # at all when interpreted relative to /tmp/xyzzy/Jill.
  > 
  >   # Furthermore, if you move point to "Jack/it" (by typing "n" twice),
  >   # and then invoke vc-diff by typing "=", Emacs will respond with "No
  >   # changes between working revision and workfile", which is wrong; the
  >   # file is indeed modified.

I'm guessing this is just an artifact because of the previous
problem...




Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>, owner <at> emacsbugs.donarmstrong.com:
bug#1589; Package emacs,vc-dir. (Fri, 26 Dec 2008 18:35:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to "Eric Hanchrow" <eric.hanchrow <at> gmail.com>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>, owner <at> emacsbugs.donarmstrong.com. (Fri, 26 Dec 2008 18:35:03 GMT) Full text and rfc822 format available.

Message #15 received at 1589 <at> emacsbugs.donarmstrong.com (full text, mbox):

From: "Eric Hanchrow" <eric.hanchrow <at> gmail.com>
To: 1589 <at> debbugs.gnu.org
Subject: Possible fix
Date: Fri, 26 Dec 2008 10:28:55 -0800
The fix might be as simple as this.  I'll use this for a while and see
how it goes.

diff --git a/lisp/vc-git.el b/lisp/vc-git.el
index efb59ac..bfcc5a9 100644
--- a/lisp/vc-git.el
+++ b/lisp/vc-git.el
@@ -375,7 +375,9 @@ If nil, use the value of `vc-diff-switches'.  If
t, use no switches."
      (vc-git-command (current-buffer) 'async files "ls-files" "-z" "-o" "-i"
                      "--directory" "--no-empty-directory"
"--exclude-standard" "--"))
     ('diff-index
-     (vc-git-command (current-buffer) 'async files "diff-index" "-z"
"-M" "HEAD" "--")))
+     (vc-git-command (current-buffer) 'async files "diff-index"
+		     "--relative"
+		     "-z" "-M" "HEAD" "--")))
   (vc-exec-after
    `(vc-git-after-dir-status-stage (quote ,stage) (quote ,files)
(quote ,update-function))))




Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>, owner <at> emacsbugs.donarmstrong.com:
bug#1589; Package emacs,vc-dir. (Fri, 26 Dec 2008 19:20:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to "Eric Hanchrow" <eric.hanchrow <at> gmail.com>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>, owner <at> emacsbugs.donarmstrong.com. (Fri, 26 Dec 2008 19:20:03 GMT) Full text and rfc822 format available.

Message #20 received at 1589 <at> emacsbugs.donarmstrong.com (full text, mbox):

From: "Eric Hanchrow" <eric.hanchrow <at> gmail.com>
To: 1589 <at> debbugs.gnu.org
Subject: git's "--relative" option is relatively new :)
Date: Fri, 26 Dec 2008 11:13:58 -0800
The above fix relies on the "--relative" option to the 'git
diff-index' command.  That option came into being in git 1.5.5, which
was released in April 2008.




Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>, owner <at> emacsbugs.donarmstrong.com:
bug#1589; Package emacs,vc-dir. (Sat, 27 Dec 2008 12:30:05 GMT) Full text and rfc822 format available.

Acknowledgement sent to rms <at> gnu.org:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>, owner <at> emacsbugs.donarmstrong.com. (Sat, 27 Dec 2008 12:30:06 GMT) Full text and rfc822 format available.

Message #25 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Richard M Stallman <rms <at> gnu.org>
To: Eric Hanchrow <eric.hanchrow <at> gmail.com>, 1589 <at> debbugs.gnu.org
Cc: 1589 <at> debbugs.gnu.org, bug-submit-list <at> donarmstrong.com,
        bug-gnu-emacs <at> gnu.org, owner <at> emacsbugs.donarmstrong.com
Subject: Re: bug#1589: git's "--relative" option is relatively new :)
Date: Sat, 27 Dec 2008 07:22:57 -0500
    The above fix relies on the "--relative" option to the 'git
    diff-index' command.  That option came into being in git 1.5.5, which
    was released in April 2008.

Maybe that is ok, since git support in VC is new anyway.

By the time we release Emacs 23, git 1.5.5 will be several months
older.





Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>, owner <at> emacsbugs.donarmstrong.com:
bug#1589; Package emacs,vc-dir. (Sat, 27 Dec 2008 12:30:07 GMT) Full text and rfc822 format available.

Acknowledgement sent to rms <at> gnu.org:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>, owner <at> emacsbugs.donarmstrong.com. (Sat, 27 Dec 2008 12:30:07 GMT) Full text and rfc822 format available.

Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>, owner <at> emacsbugs.donarmstrong.com:
bug#1589; Package emacs,vc-dir. (Tue, 06 Jan 2009 00:20:04 GMT) Full text and rfc822 format available.

Acknowledgement sent to "Eric Hanchrow" <eric.hanchrow <at> gmail.com>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>, owner <at> emacsbugs.donarmstrong.com. (Tue, 06 Jan 2009 00:20:04 GMT) Full text and rfc822 format available.

Message #35 received at 1589 <at> emacsbugs.donarmstrong.com (full text, mbox):

From: "Eric Hanchrow" <eric.hanchrow <at> gmail.com>
To: 1589 <at> debbugs.gnu.org
Subject: Seems to be working fine.
Date: Mon, 5 Jan 2009 16:13:59 -0800
I've been using this fix ever since December 26, and have not run into
any problems.




Forcibly Merged 1589 2055. Request was from Dan Nicolaescu <dann <at> ics.uci.edu> to control <at> emacsbugs.donarmstrong.com. (Tue, 27 Jan 2009 02:20:04 GMT) Full text and rfc822 format available.

bug reassigned from package `emacs,vc-dir' to `emacs,vc'. Request was from Juanma Barranquero <lekktu <at> gmail.com> to control <at> emacsbugs.donarmstrong.com. (Tue, 17 Mar 2009 09:30:03 GMT) Full text and rfc822 format available.

Merged 1589 2055 2641. Request was from Dan Nicolaescu <dann <at> ics.uci.edu> to control <at> emacsbugs.donarmstrong.com. (Tue, 07 Apr 2009 16:35:05 GMT) Full text and rfc822 format available.

Forcibly Merged 1589 2055 2641 3359 4207. Request was from Juanma Barranquero <lekktu <at> gmail.com> to control <at> emacsbugs.donarmstrong.com. (Thu, 22 Oct 2009 10:25:06 GMT) Full text and rfc822 format available.

Added tag(s) patch. Request was from Dan Nicolaescu <dann <at> ics.uci.edu> to control <at> emacsbugs.donarmstrong.com. (Sat, 05 Dec 2009 00:30:04 GMT) Full text and rfc822 format available.

bug reassigned from package 'emacs,vc' to 'emacs'. Request was from Glenn Morris <rgm <at> gnu.org> to control <at> debbugs.gnu.org. (Tue, 26 Jan 2010 02:21:02 GMT) Full text and rfc822 format available.

Merged 1589 2055 2641 3088 3359 4207. Request was from Glenn Morris <rgm <at> gnu.org> to control <at> debbugs.gnu.org. (Tue, 26 Jan 2010 02:21:02 GMT) Full text and rfc822 format available.

Reply sent to Glenn Morris <rgm <at> gnu.org>:
You have taken responsibility. (Wed, 27 Jan 2010 20:37:01 GMT) Full text and rfc822 format available.

Notification sent to Eric Hanchrow <eric.hanchrow <at> gmail.com>:
bug acknowledged by developer. (Wed, 27 Jan 2010 20:37:02 GMT) Full text and rfc822 format available.

Message #54 received at 1589-done <at> debbugs.gnu.org (full text, mbox):

From: Glenn Morris <rgm <at> gnu.org>
To: 1589-done <at> debbugs.gnu.org
Subject: Re: bug#1589: vc-dir erroneously reports "No changes between working
	revision and workfile"
Date: Wed, 27 Jan 2010 15:36:29 -0500
It seems this patch was installed, thanks.

2010-01-25  Eric Hanchrow  <eric.hanchrow at gmail.com>  (tiny change)

  * vc-git.el (vc-git-dir-status-goto-stage): Pass --relative to the
  diff-index command.  This requires at least git-1.5.5.




Reply sent to Glenn Morris <rgm <at> gnu.org>:
You have taken responsibility. (Wed, 27 Jan 2010 20:37:02 GMT) Full text and rfc822 format available.

Notification sent to Ian Eure <ian <at> digg.com>:
bug acknowledged by developer. (Wed, 27 Jan 2010 20:37:02 GMT) Full text and rfc822 format available.

Reply sent to Glenn Morris <rgm <at> gnu.org>:
You have taken responsibility. (Wed, 27 Jan 2010 20:37:02 GMT) Full text and rfc822 format available.

Notification sent to Lennart Staflin <lenst <at> lysator.liu.se>:
bug acknowledged by developer. (Wed, 27 Jan 2010 20:37:02 GMT) Full text and rfc822 format available.

Reply sent to Glenn Morris <rgm <at> gnu.org>:
You have taken responsibility. (Wed, 27 Jan 2010 20:37:02 GMT) Full text and rfc822 format available.

Notification sent to Daiki Ueno <ueno <at> unixuser.org>:
bug acknowledged by developer. (Wed, 27 Jan 2010 20:37:03 GMT) Full text and rfc822 format available.

Reply sent to Glenn Morris <rgm <at> gnu.org>:
You have taken responsibility. (Wed, 27 Jan 2010 20:37:03 GMT) Full text and rfc822 format available.

Notification sent to Zale Yu <yujie052 <at> gmail.com>:
bug acknowledged by developer. (Wed, 27 Jan 2010 20:37:03 GMT) Full text and rfc822 format available.

Reply sent to Glenn Morris <rgm <at> gnu.org>:
You have taken responsibility. (Wed, 27 Jan 2010 20:37:03 GMT) Full text and rfc822 format available.

Notification sent to Tom Tromey <tromey <at> redhat.com>:
bug acknowledged by developer. (Wed, 27 Jan 2010 20:37:03 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <bug-gnu-emacs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Thu, 25 Feb 2010 12:24:03 GMT) Full text and rfc822 format available.

This bug report was last modified 15 years and 114 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.