Skip to content

Reduce amount of git processes#663

Open
lgeiger wants to merge 2 commits into
IlanCosman:mainfrom
lgeiger:reduce-git-processes
Open

Reduce amount of git processes#663
lgeiger wants to merge 2 commits into
IlanCosman:mainfrom
lgeiger:reduce-git-processes

Conversation

@lgeiger

@lgeiger lgeiger commented Jun 15, 2026

Copy link
Copy Markdown

Description

This PR reduces the amount of git processes required to populate the prompt from 5 to 3.

Motivation and Context

Currently querying the git status launches 5 git processes. This can be quite slow especially on larger repos. This PR removes the need to call git rev-list --count --left-right @{upstream}...HEAD and instead reads the necessary information from git --no-optional-locks status --porcelain --branch directly. I also moved the fallback code such that we do not need to call git branch --show-current in the default case where we're on a normal branch. This reduces the number of spawned git processes to 3:

main:

git branch --show-current
git rev-parse --git-dir --is-inside-git-dir
git --no-optional-locks status --porcelain
git stash list
git rev-list --count --left-right @{upstream}...HEAD

This PR:

git rev-parse --git-dir --is-inside-git-dir
git --no-optional-locks status --porcelain --branch
git stash list

Best to review commit by commit. Let me know if you prefer to split the commits into separate PRs

How Has This Been Tested

  • I have tested using Linux.
  • I have tested using MacOS.

Checklist

  • I am ready to update the wiki accordingly.
  • I have updated the tests accordingly.

@lgeiger lgeiger requested a review from IlanCosman as a code owner June 15, 2026 15:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant