Silic0nS0ldier / vscode-git-monolithic-extension

Fork of the built-in VSCode Git extension which includes optimisations for monolithic repositories.
MIT License
1 stars 0 forks source link

Separate handling of untracked files #5

Open Silic0nS0ldier opened 2 years ago

Silic0nS0ldier commented 2 years ago

Git is really bad at finding untracked file, and this is inherent to the implementation as opposed to some reason like "they didn't do X". As a result standard operations which look for untracked files are quite slow, having to crawl the repository to discover any new files each time.

As the repo gets bigger, git really begins to slow down.

We can salvage the situation somewhat by doing the untracked search separately, so that some useful information can be surfaced sooner.

In an ideal world a system like Git VFS would be employed, however such a system has not been ported to MacOS.

Silic0nS0ldier commented 2 years ago

https://canva.slack.com/archives/C6TF82RB5/p1635814628014700?thread_ts=1635752138.011900&cid=C6TF82RB5

A checkbox for not finding untracked would be an okay user experience. Some dev's in Canva already use the -uno flag when doing status checks.

https://github.com/Silic0nS0ldier/vscode-git-monolithic-extension/blob/cbbd891baaeceaea8fc090341f694b46537da2a0/packages/extension/src/git/status.ts#L5

Silic0nS0ldier commented 2 years ago

UI side handled.