git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[BUG] git instaweb hanging on very large workdirs with `status.showUntrackedFiles no`

From
FMFlorian Meißner <aspiring_sociopath@mailbox.org>
Date
May 26, 2024, 10:07 UTC
Message-ID
<73554ec7-4080-494f-8e2b-3e70acb48f93@mailbox.org>
# What did you do before the bug happened? (Steps to reproduce your issue)

I manage my dotfiles with a bare repo, an alias and `git config status.showUntrackedFiles no` (see https://news.ycombinator.com/item?id=11071754).

# What did you expect to happen? (Expected behavior)

Git instaweb just showing the commits and tree, optimally without untracked files (respecting status.showUntrackedFiles).

# What happened instead? (Actual behavior)

When I try to run `git instaweb` on that repo, the website doesn't load but the git-instaweb process goes to 100% CPU (single-core) and stays there. From looking at `lsof` I conclude that instaweb somehow tries to look at every file in my workdir, taking forever (as my home folder) is very big. This renders gitweb/instaweb unusable for this type of repo.

# What's different between what you expected and what actually happened?
Gitweb loading instantly vs. taking minutes / not loading at all.
# Anything else you want to add:
I glanced over `man gitweb.conf` but couldn't find any useful parameters.

`git config --list` (redacted): ``` user.email=… user.name=… init.defaultbranch=development filter.lfs.clean=git-lfs clean -- %f filter.lfs.smudge=git-lfs smudge -- %f filter.lfs.process=git-lfs filter-process filter.lfs.required=true core.editor=nano maintenance.repo=… push.autosetupremote=true includeif.gitdir:/run/media/…/.path=config.no_compress core.repositoryformatversion=0 core.filemode=true core.bare=true status.showuntrackedfiles=no remote.origin.url=git@… remote.origin.fetch=+refs/heads/*:refs/remotes/origin/* branch.development.remote=origin branch.development.merge=refs/heads/development ```

[System Info] git version: git version 2.45.1 cpu: x86_64 no commit associated with this build sizeof-long: 8 sizeof-size_t: 8 shell-path: /bin/sh uname: Linux 6.8.10-2-MANJARO #1 SMP PREEMPT_DYNAMIC Thu May 23 19:12:51 UTC 2024 x86_64 compiler info: gnuc: 14.1 libc info: glibc: 2.39 $SHELL (typically, interactive shell): /bin/bash

[Enabled Hooks]
Message 1 of 1 in “[BUG] git instaweb hanging on very large workdirs with `status.showUntrackedFiles no`”
  1. Florian MeißnerMay 26, 2024

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.