diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-10-13 15:12:01 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-10-13 15:12:01 +0300 |
commit | 447ad69728c0cb35db1190694f29806cf7c59a88 (patch) | |
tree | 43bbb4de84f19663cc3a19c32e8585310f42672a /doc/architecture | |
parent | ce79b3dd66d0e9616d547f90a93cce0b709407a3 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'doc/architecture')
-rw-r--r-- | doc/architecture/blueprints/new_diffs.md | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/doc/architecture/blueprints/new_diffs.md b/doc/architecture/blueprints/new_diffs.md new file mode 100644 index 00000000000..f8adcda573b --- /dev/null +++ b/doc/architecture/blueprints/new_diffs.md @@ -0,0 +1,87 @@ +--- +status: proposed +creation-date: "2023-10-10" +authors: [ "@iamphill" ] +coach: [ "@ntepluhina" ] +approvers: [ ] +owning-stage: "~devops::create" +participating-stages: [] +--- + +<!-- Blueprints often contain forward-looking statements --> +<!-- vale gitlab.FutureTense = NO --> + +# New diffs + +## Summary + +Diffs at GitLab are spread across several places with each area using their own method. We are aiming +to develop a single, performant way for diffs to be rendered across the application. Our aim here is +to improve all areas of diff rendering, from the backend creation of diffs to the frontend rendering +the diffs. + +## Motivation + +### Goals + +- improved perceived performance +- improved maintainability +- consistent coverage of all scenarios + +### Non-Goals + +<!-- +Listing non-goals helps to focus discussion and make progress. This section is +optional. + +- What is out of scope for this blueprint? +--> + +## Proposal + +<!-- +This is where we get down to the specifics of what the proposal actually is, +but keep it simple! This should have enough detail that reviewers can +understand exactly what you're proposing, but should not include things like +API designs or implementation. The "Design Details" section below is for the +real nitty-gritty. + +You might want to consider including the pros and cons of the proposed solution so that they can be +compared with the pros and cons of alternatives. +--> + +## Design and implementation details + +<!-- +This section should contain enough information that the specifics of your +change are understandable. This may include API specs (though not always +required) or even code snippets. If there's any ambiguity about HOW your +proposal will be implemented, this is the place to discuss them. + +If you are not sure how many implementation details you should include in the +blueprint, the rule of thumb here is to provide enough context for people to +understand the proposal. As you move forward with the implementation, you may +need to add more implementation details to the blueprint, as those may become +an important context for important technical decisions made along the way. A +blueprint is also a register of such technical decisions. If a technical +decision requires additional context before it can be made, you probably should +document this context in a blueprint. If it is a small technical decision that +can be made in a merge request by an author and a maintainer, you probably do +not need to document it here. The impact a technical decision will have is +another helpful information - if a technical decision is very impactful, +documenting it, along with associated implementation details, is advisable. + +If it's helpful to include workflow diagrams or any other related images. +Diagrams authored in GitLab flavored markdown are preferred. In cases where +that is not feasible, images should be placed under `images/` in the same +directory as the `index.md` for the proposal. +--> + +## Alternative Solutions + +<!-- +It might be a good idea to include a list of alternative solutions or paths considered, although it is not required. Include pros and cons for +each alternative solution/path. + +"Do nothing" and its pros and cons could be included in the list too. +--> |