GNU bug report logs - #38688
27.0.50; vc-dir + tramp hangs when there are stashes

Previous Next

Package: emacs;

Reported by: Robert Pluim <rpluim <at> gmail.com>

Date: Fri, 20 Dec 2019 14:55:02 UTC

Severity: normal

Found in version 27.0.50

Fixed in version 27.1

Done: Robert Pluim <rpluim <at> gmail.com>

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 38688 in the body.
You can then email your comments to 38688 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-gnu-emacs <at> gnu.org:
bug#38688; Package emacs. (Fri, 20 Dec 2019 14:55:02 GMT) Full text and rfc822 format available.

Message #3 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Robert Pluim <rpluim <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 27.0.50; vc-dir + tramp hangs when there are stashes
Date: Fri, 20 Dec 2019 15:53:53 +0100
When visiting a remote git repo using tramp, if you subsequently run
'vc-dir', then emacs will hang forever if the remote repo has
stashes. This turned out to be to me having

         pager = less -FRXI

in my remote .gitconfig. Unsetting that fixes it, but vc-git should
perhaps take care to run git with '--no-pager' (it already does
something similar in 'vc-git-command').

diff --git a/lisp/vc/vc-git.el b/lisp/vc/vc-git.el
index cdb50db0d0..246fe77f1f 100644
--- a/lisp/vc/vc-git.el
+++ b/lisp/vc/vc-git.el
@@ -1791,7 +1791,7 @@ vc-git--call
 	    ,@(when revert-buffer-in-progress-p
 		'("GIT_OPTIONAL_LOCKS=0")))
 	  process-environment)))
-    (apply 'process-file vc-git-program nil buffer nil command args)))
+    (apply 'process-file vc-git-program nil buffer nil "--no-pager" command args)))
 
 (defun vc-git--out-ok (command &rest args)
   (zerop (apply 'vc-git--call '(t nil) command args)))

In GNU Emacs 27.0.50 (build 27, x86_64-apple-darwin18.7.0, NS appkit-1671.60 Version 10.14.6 (Build 18G1012))
 of 2019-12-12 built on rpluim-mac
Repository revision: d1f1e3640d7940718e7b878803d0b80709b60234
Repository branch: master
Windowing system distributor 'Apple', version 10.3.1671
System Description:  Mac OS X 10.14.6




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#38688; Package emacs. (Fri, 20 Dec 2019 15:52:02 GMT) Full text and rfc822 format available.

Message #6 received at 38688 <at> debbugs.gnu.org (full text, mbox):

From: Dmitry Gutov <dgutov <at> yandex.ru>
To: Robert Pluim <rpluim <at> gmail.com>, 38688 <at> debbugs.gnu.org
Subject: Re: bug#38688: 27.0.50; vc-dir + tramp hangs when there are stashes
Date: Fri, 20 Dec 2019 17:50:50 +0200
On 20.12.2019 16:53, Robert Pluim wrote:
> When visiting a remote git repo using tramp, if you subsequently run
> 'vc-dir', then emacs will hang forever if the remote repo has
> stashes. This turned out to be to me having
> 
>           pager = less -FRXI
> 
> in my remote .gitconfig. Unsetting that fixes it, but vc-git should
> perhaps take care to run git with '--no-pager' (it already does
> something similar in 'vc-git-command').

Thanks for the report.

We can probably remove the "PAGER=" variable binding from that fuction 
as well.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#38688; Package emacs. (Fri, 10 Jan 2020 15:41:01 GMT) Full text and rfc822 format available.

Message #9 received at 38688 <at> debbugs.gnu.org (full text, mbox):

From: Robert Pluim <rpluim <at> gmail.com>
To: Dmitry Gutov <dgutov <at> yandex.ru>
Cc: 38688 <at> debbugs.gnu.org
Subject: Re: bug#38688: 27.0.50; vc-dir + tramp hangs when there are stashes
Date: Fri, 10 Jan 2020 16:40:16 +0100
[Message part 1 (text/plain, inline)]
>>>>> On Fri, 20 Dec 2019 17:50:50 +0200, Dmitry Gutov <dgutov <at> yandex.ru> said:

    Dmitry> On 20.12.2019 16:53, Robert Pluim wrote:
    >> When visiting a remote git repo using tramp, if you subsequently run
    >> 'vc-dir', then emacs will hang forever if the remote repo has
    >> stashes. This turned out to be to me having
    >> pager = less -FRXI
    >> in my remote .gitconfig. Unsetting that fixes it, but vc-git should
    >> perhaps take care to run git with '--no-pager' (it already does
    >> something similar in 'vc-git-command').

    Dmitry> Thanks for the report.

    Dmitry> We can probably remove the "PAGER=" variable binding from that fuction
    Dmitry> as well.

True. The attached works for me. emacs-27 or master?

[0001-vc-dir-ensure-we-don-t-use-a-pager-with-git.patch (text/x-patch, inline)]
From 09d1602de858ad1ce46a993fca20e1b573599fa9 Mon Sep 17 00:00:00 2001
From: Robert Pluim <rpluim <at> gmail.com>
Date: Fri, 10 Jan 2020 16:36:57 +0100
Subject: [PATCH] vc-dir: ensure we don't use a pager with git
To: emacs-devel <at> gnu.org

* lisp/vc/vc-git.el (vc-git--call): Call git with '--no-pager' to
avoid hangs caused by remote pager settings (Bug#38688).
---
 lisp/vc/vc-git.el | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/lisp/vc/vc-git.el b/lisp/vc/vc-git.el
index 000d860e83..61e6c642d1 100644
--- a/lisp/vc/vc-git.el
+++ b/lisp/vc/vc-git.el
@@ -1785,13 +1785,12 @@ vc-git--call
 	(process-environment
 	 (append
 	  `("GIT_DIR"
-	    "PAGER="
 	    ;; Avoid repository locking during background operations
 	    ;; (bug#21559).
 	    ,@(when revert-buffer-in-progress-p
 		'("GIT_OPTIONAL_LOCKS=0")))
 	  process-environment)))
-    (apply 'process-file vc-git-program nil buffer nil command args)))
+    (apply 'process-file vc-git-program nil buffer nil "--no-pager" command args)))
 
 (defun vc-git--out-ok (command &rest args)
   (zerop (apply 'vc-git--call '(t nil) command args)))
-- 
2.24.0.155.gd9f6f3b619


Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#38688; Package emacs. (Sat, 11 Jan 2020 07:49:02 GMT) Full text and rfc822 format available.

Message #12 received at 38688 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Dmitry Gutov <dgutov <at> yandex.ru>
Cc: rpluim <at> gmail.com, 38688 <at> debbugs.gnu.org
Subject: Re: bug#38688: 27.0.50; vc-dir + tramp hangs when there are stashes
Date: Sat, 11 Jan 2020 09:48:48 +0200
> Cc: 38688 <at> debbugs.gnu.org, Eli Zaretskii <eliz <at> gnu.org>
> From: Dmitry Gutov <dgutov <at> yandex.ru>
> Date: Sat, 11 Jan 2020 04:38:07 +0300
> 
> On 10.01.2020 17:40, Robert Pluim wrote:
> > True. The attached works for me. emacs-27 or master?
> 
> Looks safe enough to me, but it's up to Eli.

I'm okay with pushing this to the release branch.

Thanks.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#38688; Package emacs. (Mon, 13 Jan 2020 08:36:01 GMT) Full text and rfc822 format available.

Message #15 received at 38688 <at> debbugs.gnu.org (full text, mbox):

From: Robert Pluim <rpluim <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 38688 <at> debbugs.gnu.org, Dmitry Gutov <dgutov <at> yandex.ru>
Subject: Re: bug#38688: 27.0.50; vc-dir + tramp hangs when there are stashes
Date: Mon, 13 Jan 2020 09:35:12 +0100
>>>>> On Sat, 11 Jan 2020 09:48:48 +0200, Eli Zaretskii <eliz <at> gnu.org> said:

    >> Cc: 38688 <at> debbugs.gnu.org, Eli Zaretskii <eliz <at> gnu.org>
    >> From: Dmitry Gutov <dgutov <at> yandex.ru>
    >> Date: Sat, 11 Jan 2020 04:38:07 +0300
    >> 
    >> On 10.01.2020 17:40, Robert Pluim wrote:
    >> > True. The attached works for me. emacs-27 or master?
    >> 
    >> Looks safe enough to me, but it's up to Eli.

    Eli> I'm okay with pushing this to the release branch.

Done.

Robert




bug marked as fixed in version 27.1, send any further explanations to 38688 <at> debbugs.gnu.org and Robert Pluim <rpluim <at> gmail.com> Request was from Robert Pluim <rpluim <at> gmail.com> to control <at> debbugs.gnu.org. (Mon, 13 Jan 2020 08:36:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Mon, 10 Feb 2020 12:24:08 GMT) Full text and rfc822 format available.

This bug report was last modified 4 years and 70 days ago.

Previous Next


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