GNU bug report logs - #53831
29.0.50; vc-git-registered hangs when examining files in .git directory for submodule

Previous Next

Package: emacs;

Reported by: Robert Irelan <rirelan <at> gmail.com>

Date: Sun, 6 Feb 2022 22:58:02 UTC

Severity: normal

Found in version 29.0.50

Done: Sean Whitton <spwhitton <at> spwhitton.name>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Dmitry Gutov <dgutov <at> yandex.ru>
To: Robert Irelan <rirelan <at> gmail.com>, 53831 <at> debbugs.gnu.org
Subject: bug#53831: 29.0.50; vc-git-registered hangs when examining files in .git directory for submodule
Date: Mon, 21 Feb 2022 03:37:30 +0200
Hi!

On 07.02.2022 00:56, Robert Irelan wrote:
> - Eventually, we attempt a `call-process` with the command line
>    `git --no-pager ls-files -c -z -- .git/modules/.doom.d/COMMIT_EDITMSG`
>    with `default-directory` set to `~`. This command takes around 20
>    seconds to exit with an empty output and exit status 0. I believe at
>    this point the code may continue to loop, since it hangs for longer
>    than that until I hit `C-g` a bunch of times.

Any idea why it hangs? Is that because of the size of the repository, or 
something like that?

I've tried to recreate this problem, but even with large repos 'git 
--no-pager ls-files -c -z -- .git/modules/.doom.d/COMMIT_EDITMSG' 
returns pretty quickly.

Does it take 20 seconds when running from a terminal? What if you try 
that with different files inside '.git'?

> I propose that `vc-git-registered` return nil if the path contains
`/.git/`, since the contents of `.git` are never part of the Git
repository.

This can work. Though I'd rather understand the problem better first.




This bug report was last modified 74 days ago.

Previous Next


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