Design discovery for file tree in merge requests
Small code changes < 100 lines total can touch 10-20 files including tests, which can be hard to review as a page of diffs requiring me to scroll up and down. It becomes exponentially harder as the change grows larger. There are a few reasons it is hard not to get lost even in small changes:
-
location of changes relative to project structure is hard to understand: I don't think of the project as an alphabetically sorted list of files but a tree that shows structure
-
location of change relative to other files in the change: I don't know many files I have reviewed and how many more there are to go, besides trying to use the browser scroll bar to gauge progress
-
switching between files: I need to be able to jump between files to compare a new function added in one place, and how it is used elsewhere in the change.
The proposal to add a file browser that is always visible side by side with the changes could help solve these problems.
| Phabricator | Atlassian Stash | gitlabtree | Cimpress Chrome extension |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
Proposal
- File tree should be hidden by default, and can be shown/hidden by the user
- File tree should only show changed files



