69 lines
2.3 KiB
Markdown
69 lines
2.3 KiB
Markdown
# PR#95: The note of a held merge names hints outside the diff
|
|
|
|
> **WARNING:** This document describes only the change applied in this PR.
|
|
> It may already be outdated once the next PR is merged.
|
|
> Historic PR documentation is not maintained along with new PRs; treat it as a snapshot.
|
|
|
|
## Problem
|
|
|
|
[werkbaum PR#9](https://git.javagil.de/mi/werkbaum/pulls/9) was GREEN, but did not merge.
|
|
The model found a hint on `docs/CHANGELOG.md:1`, a file that the PR does not change.
|
|
Gitea takes no line comment there, so the hint stood only in the result comment and held the merge.
|
|
The note said "reply to each line comment and resolve it", but there was no line comment to resolve.
|
|
|
|
The same happens to a line comment that Gitea refused, and to writing rule violations beyond the 10 line comments.
|
|
|
|
## Non-Goals
|
|
|
|
- No change of which hints hold the merge.
|
|
- No change of how a restart releases the hints that stand only in the result comment.
|
|
|
|
## Specification
|
|
|
|
### Feature: the note of a held merge tells how to release it
|
|
|
|
#### Scenario#95.01: a hint outside the diff is answered in a PR comment
|
|
|
|
So that the author knows what to do when no line comment exists.
|
|
|
|
- **Given** a GREEN review with one hint on a file that the PR does not change
|
|
- **When** werkrevisor holds the merge
|
|
- **Then** the result comment asks to answer the hint in a PR comment, then to restart the review
|
|
|
|
##### Verified by
|
|
|
|
- [test_hints_hold_merge.HintsHoldTheMergeTest.test_a_hint_outside_the_diff_asks_for_an_answer_in_a_pr_comment](../../tests/test_hints_hold_merge.py)
|
|
|
|
#### Scenario#95.02: line comments and other hints are named apart
|
|
|
|
So that the author resolves the line comments and answers the other hints.
|
|
|
|
- **Given** a GREEN review with one hint as a line comment and one hint on a file that the PR does not change
|
|
- **When** werkrevisor holds the merge
|
|
- **Then** the result comment asks to resolve the line comment and to answer the other hint in a PR comment
|
|
|
|
##### Verified by
|
|
|
|
- [test_hints_hold_merge.HintsHoldTheMergeTest.test_line_comments_and_hints_outside_the_diff_are_named_apart](../../tests/test_hints_hold_merge.py)
|
|
|
|
## Solution
|
|
|
|
`_open_hints` counts the open line comments and the hints that stand only in the result comment apart;
|
|
`_hold_merge` builds the note from both counts.
|
|
|
|
## Open Questions
|
|
|
|
None.
|
|
|
|
## Additional Changes
|
|
|
|
None.
|
|
|
|
## Prerequisite PRs
|
|
|
|
None.
|
|
|
|
## Follow-up PRs
|
|
|
|
None.
|