Subject: bug#21166: 24.4; vc-mode and git error on newly added file to new repository

From: Ed Avis <[email-masked]>
Date: Fri, 31 Jul 2015 14:43:29 +0000

At the shell make an empty git working tree and add one file to it,
but without committing, then edit it in Emacs:

% mkdir test
% cd test
% git init
Initialized empty Git repository in /home/eda/test/.git/
% echo >a
% git add a
% emacs -Q a

Type some text in the buffer, save with C-x C-s, then ask for a diff
with C-x v =.  This fails with the following text at the bottom of the screen:

-UU-:----F1  a              All L1    Git@master  (Fundamental) ---
fatal: bad revision 'HEAD'

-UUU:**--F1  *vc-diff*      All L1     (Fundamental from a) ----
Running git --no-pager diff-index --exit-code -p HEAD  -- a...FAILED (status 128)

In GNU Emacs 24.4.1 (x86_64-redhat-linux-gnu, GTK+ Version 3.10.9)
 of 2014-11-03 on wcl-linux04.wcl.local
Configured using:
 `configure --build=x86_64-redhat-linux-gnu
 --host=x86_64-redhat-linux-gnu --program-prefix=
 --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr
 --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc
 --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64
 --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=gtk3
 --with-gpm=no build_alias=x86_64-redhat-linux-gnu
 host_alias=x86_64-redhat-linux-gnu 'CFLAGS=-DMAIL_USE_LOCKF -O2 -g
 -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
 -fstack-protector-strong --param=ssp-buffer-size=4
 -grecord-gcc-switches -m64 -mtune=generic' 'LDFLAGS=-Wl,-z,relro ''

Important settings:
  value of $LC_COLLATE: C
  value of $LC_CTYPE: en_GB.UTF-8
  value of $LC_MESSAGES: en_GB.UTF-8
  value of $LC_MONETARY: en_GB.UTF-8
  value of $LC_NUMERIC: en_GB.UTF-8
  value of $LC_TIME: en_GB.UTF-8
  value of $LANG: en_GB.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Fundamental

Minor modes in effect:
  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
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
p C-a ESC f DEL DEL DEL DEL c a t DEL DEL DEL e c h 
o SPC ' # ! / b i n / s h ' RET e c h o SPC C-a C-k 
r DEL l n SPC - s SPC / b i TAB f a TAB l TAB C-a C-k 
r m SPC . g i TAB h o TAB p r e TAB - c TAB RET l n 
SPC - s SPC / h DEL b i TAB f a TAB l TAB s e SPC . 
g i TAB h o TAB p r e - c o TAB DEL DEL DEL DEL DEL 
DEL DEL DEL RET e c h o SPC > a RET g t DEL i t SPC 
a d d SPC a RET C-x C-f a RET h e l l o RET C-x C-s 
C-x v = q C-g C-g ESC x s h e l l RET ESC > g i t SPC 
s t a t u s RET C-x 1 c d SPC . . RET r m SPC - r f 
SPC t e s t RET c d SPC t e s t C-a C-k m k d i r SPC 
t e s t RET c d SPC t e s t RET g i t SPC i n i t RET 
e c j h SPC DEL DEL DEL h SPC o > DEL DEL DEL o SPC 
> a RET g i t SPC a d d SPC a RET C-x C-f a RET y e 
s RET a C-x C-s C-x v = C-x b RET C-x 1 C-x b a RET 
ESC x r e p o r t SPC e SPC b RET

Recent messages:
Finding changes in /home/eda/test/a...
vc-do-command: Running git --no-pager diff-index --exit-code -p HEAD  -- a...FAILED (status 128)
call-interactively: Buffer is read-only: #<buffer *vc-diff*>
Quit [2 times]
Mark set
~ 
~/test 
Saving file /home/eda/test/a...
Wrote /home/eda/test/a
Finding changes in /home/eda/test/a...
vc-do-command: Running git --no-pager diff-index --exit-code -p HEAD  -- a...FAILED (status 128)

Load-path shadows:
None found.

Features:
(shadow sort emacsbug sendmail apropos vc-bzr vc-sccs vc-svn vc-cvs
vc-rcs rect macros debug network-stream starttls tls mail-extr etags
sh-script smie executable smerge-mode edmacro kmacro sql view mule-util
python json dired tabify imenu man help-mode log-view diff-mode vc
vc-dispatcher cus-edit wid-edit cus-start cus-load perl-mode dabbrev
nxml-uchnm rng-xsd xsd-regexp rng-cmpct rng-nxml rng-valid rng-loc
rng-uri rng-parse nxml-parse rng-match rng-dt rng-util rng-pttrn nxml-ns
nxml-mode nxml-outln nxml-rap nxml-util nxml-glyph nxml-enc xmltok ffap
thingatpt url-parse auth-source eieio eieio-core gnus-util
password-cache url-vars misearch multi-isearch vc-git pcmpl-unix xterm
time-date log-edit easy-mmode message format-spec rfc822 mml mml-sec
mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045
ietf-drums mm-util mail-prsvr mailabbrev mail-utils gmm-utils mailheader
pcvs-util add-log server csharp-mode advice help-fns byte-opt bytecomp
byte-compile cconv cc-langs cc-mode cc-fonts easymenu cc-guess cc-menus
cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs zoom-frm frame-cmds
frame-fns cl-macs avoid cl gv cl-loaddefs cl-lib compile shell pcomplete
comint ring ansi-color tooltip electric uniquify ediff-hook vc-hooks
lisp-float-type mwheel x-win x-dnd tool-bar dnd fontset image regexp-opt
fringe tabulated-list newcomment lisp-mode prog-mode register page
menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock
syntax facemenu font-core frame cham georgian utf-8-lang misc-lang
vietnamese tibetan thai tai-viet lao korean japanese hebrew greek
romanian slovak czech european ethiopic indian cyrillic chinese
case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer nadvice
loaddefs button faces cus-face macroexp files text-properties overlay
sha1 md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote make-network-process dbusbind
gfilenotify dynamic-setting system-font-setting font-render-setting
move-toolbar gtk x-toolkit x multi-tty emacs)

Memory information:
((conses 16 2123160 189079)
 (symbols 48 30370 0)
 (miscs 40 1280 7066)
 (strings 32 74802 19252)
 (string-bytes 1 3893095)
 (vectors 16 42168)
 (vector-slots 8 1773808 319851)
 (floats 8 1683 1258)
 (intervals 56 365598 3016)
 (buffers 960 190)
 (heap 1024 107029 5604))

Please ignore autogenerated disclaimer below this point.

This email is intended only for the person to whom it is addressed and may contain confidential information. Any retransmission, copying, disclosure or other use of, this information by persons other than the intended recipient is prohibited. If you received this email in error, please contact the sender and delete the material. This email is for information only and is not intended as an offer or solicitation for the purchase or sale of any financial instrument. Wadhwani Asset Management LLP is a Limited Liability Partnership registered in England (OC303168) with registered office at 40 Berkeley Square, 3rd Floor, London, W1J 5AL. It is authorised and regulated by the Financial Conduct Authority.