right now parts of the code depend on gix where other parts depend on git2, because gix does not have full handling of fetch/pull/push/stage. Essentially only status, heads, available branches and diff are from gix. this should be reduced to handle everything with git2 and get rid of gix to reduce dependencies and executable size.
Make the diff algorithm configureable in the preferences, so that the user can define their preferred diff algorithm. base it on the parameters that git2 actually provides for diff analysis.
Since libgit2 has multiple diff settings, the default settings to be used for diffs need to be configureable in preferences, so that the user can configure it to their liking.
right now parts of the code depend on gix where other parts depend on git2, because gix does not have full handling of fetch/pull/push/stage. Essentially only status, heads, available branches and diff are from gix. this should be reduced to handle everything with git2 and get rid of gix to reduce dependencies and executable size.
Make the diff algorithm configureable in the preferences, so that the user can define their preferred diff algorithm. base it on the parameters that git2 actually provides for diff analysis.
Since libgit2 has multiple diff settings, the default settings to be used for diffs need to be configureable in preferences, so that the user can configure it to their liking.
hugo
added the bug label 2026-07-28 04:59:58 +00:00
hugo
added the critical label 2026-07-28 09:05:42 +00:00
hugo
changed title from go to just one git crate dependency - get rid of gix to we need just one git crate dependency - get rid of gix2026-07-28 11:00:42 +00:00
Implemented in 31f6426. Removed gix and its dependency graph; Git status, local branches/HEAD, staged/worktree diffs, staging, commits, and remotes now use git2/libgit2 only. Added persisted Git diff preferences for Myers/patience/minimal algorithms, context and interhunk lines, indentation heuristic, whitespace handling, and blank-line handling. Verified this is DS4Server-only functionality (DS4 has no matching Git UI), exercised configurable libgit2 patch output and staged/worktree status in isolated tests, and passed cargo fmt, Clippy with warnings denied, make bundle, and the full test suite (143 passed, 12 hardware/model tests ignored).
Implemented in 31f6426. Removed gix and its dependency graph; Git status, local branches/HEAD, staged/worktree diffs, staging, commits, and remotes now use git2/libgit2 only. Added persisted Git diff preferences for Myers/patience/minimal algorithms, context and interhunk lines, indentation heuristic, whitespace handling, and blank-line handling. Verified this is DS4Server-only functionality (DS4 has no matching Git UI), exercised configurable libgit2 patch output and staged/worktree status in isolated tests, and passed cargo fmt, Clippy with warnings denied, make bundle, and the full test suite (143 passed, 12 hardware/model tests ignored).
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
right now parts of the code depend on gix where other parts depend on git2, because gix does not have full handling of fetch/pull/push/stage. Essentially only status, heads, available branches and diff are from gix. this should be reduced to handle everything with git2 and get rid of gix to reduce dependencies and executable size.
Make the diff algorithm configureable in the preferences, so that the user can define their preferred diff algorithm. base it on the parameters that git2 actually provides for diff analysis.
Since libgit2 has multiple diff settings, the default settings to be used for diffs need to be configureable in preferences, so that the user can configure it to their liking.
go to just one git crate dependency - get rid of gixto we need just one git crate dependency - get rid of gixImplemented in
31f6426. Removed gix and its dependency graph; Git status, local branches/HEAD, staged/worktree diffs, staging, commits, and remotes now use git2/libgit2 only. Added persisted Git diff preferences for Myers/patience/minimal algorithms, context and interhunk lines, indentation heuristic, whitespace handling, and blank-line handling. Verified this is DS4Server-only functionality (DS4 has no matching Git UI), exercised configurable libgit2 patch output and staged/worktree status in isolated tests, and passed cargo fmt, Clippy with warnings denied, make bundle, and the full test suite (143 passed, 12 hardware/model tests ignored).