Skip to content

Detect MarkerRanges for word-diff mode

Vasilii Iakliushin requested to merge 16950_use_marker_ranges_for_word_diff into master

What does this MR do?

Contributes to #323763 (closed)

Follow-up for !55105 (merged)

Extend to Gitlab::WordDiff::ChunkCollection class to generate marker_ranges based on chunks received from git diff --word-diff=porcelain output.

Each chunk can be an unchanged string (starts with ), a new string (starts with +) or a removed string (starts with -).

While parsing we collect chunks until we receive a newline delimiter. Then we are combining them together to generate Gitlab::Diff::Line object and assign MarkerRanges for changed parts of the diff line.

WordDiff parser code is not used anywhere yet, so we don't need to include a feature flag.

Screenshots (strongly suggested)

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Security

If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:

  • Label as security and @ mention @gitlab-com/gl-security/appsec
  • The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • Security reports checked/validated by a reviewer from the AppSec team
Edited by Vasilii Iakliushin

Merge request reports

Loading