feat(git-lfs): improve activation and add HTTP/1.1 retry

The change adds a safer LFS activation flow that ensures a
root .gitattributes file is not hidden by ignore rules and
activates local LFS filters. It also merges patterns from the
repository attributes with those reported by Git LFS to avoid
duplicates and inaccuracies.

- Adds a retry path for large LFS uploads by forcing HTTP/1.1
during pushes when an HTTP 413 error is returned.
This commit is contained in:
Christoph Brandau
2026-08-18 21:36:13 +02:00
parent 7408371430
commit 6d806e87ea
8 changed files with 522 additions and 47 deletions
+13 -2
View File
@@ -32,8 +32,19 @@ The project uses calendar-style versions in the form `YYYY.M.PATCH`.
### Changed
- A successful Git pull now detects repositories that use LFS and downloads
the required LFS objects automatically with the same remote and credentials.
- Successful clones and pulls now detect repositories that use LFS and
download the required LFS objects automatically with the same remote and
credentials. Fresh clones also activate LFS locally before they are opened.
- Activating LFS or adding a tracking pattern now ensures that a root
`.gitattributes` file is not hidden by Git ignore rules. When necessary,
Gitty adds the scoped `!/.gitattributes` exception to `.gitignore`.
- The standard Tauri development launcher now removes an injected non-routing
`127.0.0.1:9` proxy and blocking SSH placeholder from the debug child
process, while preserving real user and company proxy settings.
- Git LFS pushes rejected with HTTP 413 are retried once with a command-scoped
HTTP/1.1 override, which works around Azure DevOps' large HTTP/2 upload
behavior without changing repository or global Git settings. LFS and other
generic push failures no longer trigger the unrelated Pull/Push retry flow.
- Unstaged and staged changes use an equal-width side-by-side layout with
independent scrolling, directional stage/unstage actions, and a responsive
vertical fallback. The List/Tree switch is centered above both areas.