Skip to content

Introduce word-diff parser

Vasilii Iakliushin requested to merge 16950_word_diff_parser into master

What does this MR do?

Contributes to #16950 (closed)

We want to introduce a support for git diff --word-diff=porcelain format. This format has differences from the default git diff.

Each line in the output can start with:

  • - shows that data in this chunk is unchanged
  • + - shows that data in this chunk is added
  • - - shows that data in this chunk is removed
  • ~ - a newline character

The parser converts word-diff format to the collection of Gitlab::Diff::Line object that we use for diff representation.

To make changes relatively small I've splitted the work into multiple MRs. This MR is just a first step to deliver word-diff format support.

New classes defined here are not used anywhere yet.

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