Use-case:
- While browsing the code for something, I find a typo, or a minor problem, and I want to make a quick todo for it, without breaking flow.
- Gradual changes over many diffs create room code smells, that are more visible from code-browsing view than code-review view.
- Initial reviewing of a large-ish code-base (For example - when upgrading from proof-of-concept to "real" project) - these may be too large for a single-page revision.
Right now, this would be solved with creating a task, and saying "see foo.c, line 44" (or direct link to revision and line); This is not visible from the code view, and can be hard to track if unrelated changes are made to the file.
Feature:
Attaching a comment(*) to a code lines, that is "live" while the code line "doesn't change".
- Ideally, this comment would be "alive" while the line(s) don't change (proxy: blame to the same commit), even if the rest of the file is changed.
- Visible in the diffusion view, similar to how lint messages are supported in diffusion.
- If a revision/commit is touching these lines (or the file), show the comment on the left side in the review.
- Some way of seeing all "live" comments in a repo/subpath. Maybe show "this file has comments" in the directory view.
- easy escalation to a task / something like T1460 / permalink (To connect from external task trackers)
This may be slightly related to T5722.