Page MenuHomePhabricator

Update the diff table of contents for moved files, long paths, etc
Open, NormalPublic


Previously, see T13516.

The "paths panel" has recently been updated. There's an argument that this obsoletes the "Table of Contents", since they overlap heavily, but I think the "Table of Contents" is useful to retain -- the "paths panel" does not fit on mobile and the "Table of Contents" has significant additional information (coverage) which can't reasonably fit into the paths panel.

  • See PHI1706. Particularly for Java projects, handling of long paths (15+ directories) is poor and renames can be confusing.

I anticipate making these changes, roughly:

  • Use the newer icons from the paths panel to indicate "deleted", "modified", etc. They are more clear than "D", "M", etc., especially to users unfamiliar with Subversion.
  • Use PhutilEditDistanceMatrix to compute moves, if the move element is retained. Particularly, in a 15-directory path, if directory 7 is moved to position 14 the result should be legible.
  • Organize paths by parent directory and collapse directories with no siblings, as the paths panel does.
  • The PhutilFileTree class from T13516 is obsolete and should be removed or replaced.
    • Possibly, path lists in arc should use directory logic.

Event Timeline

epriestley triaged this task as Normal priority.Apr 27 2020, 2:24 PM
epriestley created this task.