Fork of the built-in VSCode Git extension which includes optimisations for monolithic repositories.
MIT License
Bot releases are visible (Hide)
✨ This extension is now public and published on the VSCode Marketplace! ✨
The main changes since v0.1.12
are;
0.1.13 -> 0.1.18
releases).Published by Silic0nS0ldier over 2 years ago
Like last release, there are many major internal changes. Unlike last time there is a major new restored feature.
Note that the minimum VSCode version is now 1.66.2
.
The builtin Git support offers this, but uses an experimental API which has been flagged for removal in favour of a different approach. Rather than waiting, I rewrote the implementation to work without it. To use it;
cmd+k cmd+alt+s
.There are some considerations here.
If this misbehaves let me know. A key part of this feature relies on a VSCode internal (the diffing algorithm) which has been used via the vscode-diff
package. It can easily end up out of sync with VSCode.
AbortSignal
and AggregateError
.any
usage.!.
usage.Published by Silic0nS0ldier over 2 years ago
#repository
vs. private repository
) to ensure internals aren't leaking.enum
TypeScript construct is no longer used internally to keep source as close to standard JavaScript as possible.tsc
usage with custom WASM compiler built of swc
.Published by Silic0nS0ldier over 2 years ago
Fixed duplicated commands in source control panel, added grace period to source control panel (items will go grey and unusable for a short duration to prevent misclicks), untracked changes are now processed separately (tracked changes panel should update sooner as a result), (items may be missing)
will appear in source control panel when there are a lot of changes (the number is capped for performance reasons, a heuristic is used to detect this currently), significantly reduced extension size with removal of unneeded encoding detection dependencies, and the usual large number of internal refactorings made in preparation for future changes.
Published by Silic0nS0ldier over 2 years ago
Fixed issue where the "too many files active" warning would prevent the source control panel updates, leaving it in a "loading" state until the warning was completely dismissed. Always show untracked changes separate to tracked changes.
Published by Silic0nS0ldier over 2 years ago
Minor watcher improvements, migration of more commands to git interop library, considerable improvements to git interop library logging and considerable progress breaking up balls-of-mud.
Published by Silic0nS0ldier over 2 years ago
Optimised command logging, repository detection watcher optimisations, migrated handful of simple git operations to git interop library, and broke up monolithic repository class.
Published by Silic0nS0ldier over 2 years ago
Refactored git locator to resolve version from git interop package.
Published by Silic0nS0ldier over 2 years ago
Bumped up dependencies.
Published by Silic0nS0ldier almost 3 years ago
Fixed an issue where the watcher would fire events for each watched file, causing loops due to a separate bug where the watcher is being unnecessary recreated.
Published by Silic0nS0ldier almost 3 years ago
Major git watcher optimisations (including ignoring events while index.lock
exists), shedding a bunch of dead code, deferred activation to keep VSCode snappy during startup.
Published by Silic0nS0ldier almost 3 years ago
Optimised watcher.
Published by Silic0nS0ldier about 3 years ago
Published by Silic0nS0ldier about 3 years ago
Initial release.
Timeline functionality (which depends on experimental APIs which only VSCode included extensions can use) has been removed.
A filter for Facebook Watchman git events has been implemented which should improve performance in monorepos compared to the built-in git integration.