Subject: bug#6137: [Yuriy Vostrikov] emacs, vc-git

From: Glenn Morris <[email-masked]>
Date: Fri, 07 May 2010 17:39:02 -0400

[ Resending from help-debbugs, where it ended up. Please specify a
package if you want to use the submit@debbugs address to create a new
report.]

Stefan Monnier wrote:
  
  [ I do not use Git enough to be sure if his patch is the right way to
    fix it.  It does look OK, tho maybe the right (but harder) place to
    fix it is in Tramp.  Can someone take a look and install it?  --Stef  ]
  
  Hello.
  You are last commiter of vc-git.el so i'm writing to you.
  
  It's probably a good idea to forcefully disable pager then calling git
  command from vc-git.el.
  If buffer is tramp controlled then git will be run on remote host by
  tramp magic. In this particular case git stdout will be connected to
  pty instead of pipe and default git behavior to call $PAGER in this
  case.
  Which is effectively makes vc-git broken on tramp controlled buffers.
  Patch is attached.

  === modified file 'lisp/vc-git.el'
  --- lisp/vc-git.el	2010-04-21 02:05:24 +0000
  +++ lisp/vc-git.el	2010-05-05 09:28:56 +0000
  @@ -966,7 +966,7 @@
   (defun vc-git-command (buffer okstatus file-or-list &rest flags)
     "A wrapper around `vc-do-command' for use in vc-git.el.
   The difference to vc-do-command is that this function always invokes `git'."
  -  (apply 'vc-do-command (or buffer "*vc*") okstatus "git" file-or-list flags))
  +    (apply 'vc-do-command (or buffer "*vc*") okstatus "git" file-or-list (cons "--no-pager" flags)))
   
   (defun vc-git--empty-db-p ()
     "Check if the git db is empty (no commit done yet)."