fix(git-service): sanitize git output#19
Open
jeffdetmer wants to merge 1 commit into
Open
Conversation
…diff output Add --no-color and --no-ext-diff flags to all git diff/show calls via centralized getPlainDiff() and getPlainShowDiff() helpers, and strip any remaining VT control characters using Node's stripVTControlCharacters. This prevents ANSI escape sequences from leaking into diff responses when users have color.diff=always or external diff tools configured. Also improves error logging in getUnstagedDiff for unreadable untracked files, and adds tests for getStagedDiff, getStagedFileDiff, and getBranchDiff with terminal control character assertions.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
I was running into issues viewing the git diffs, the changes weren't showing and I couldn't create reviews.
I tracked it down to git sending ANSI colors and the parse expecting the git output to be plain text.
I added
--no-colorand--no-ext-diffflags to all of the git diff/show calls and removed any additional VT control characters and works for me now.This should also possibly solve #15 (comment)