Details
-
Suggestion
-
Resolution: Unresolved
-
None
-
1
-
Description
Given a rev graph like this, where 4 is a merge
Rev graph 3 ----- 4 / / / / / / 1 ----- 2
Selecting 4 as the first rev for a review will implicitly select 3 (being in hg the parent 0 link). If the user actually wants to review the diff between 4 and 2, they have edit the review, deselect the 3 revision and manually add the 2 revision, which will actually result in a slider showing 4-2-1.
Worse, if they select 4 (and implicitly 3), then 2, they will get a second revision that is not an ancestor/descendant of either end of the FRX line, and thus will create a new FRX with the diff 2->1 and the path will appear twice in the LHS file list.
In short there is no proper way to select what the user may want.
Something similar can happen with copies over existing paths, meaning the diff to the copy source is picked rather than the diff to the predecessor (and which does the user actually want?).
Another thing we should consider is how we deal with reviews along ancestry paths that cross multiple file paths - should it be multiple files in crucible or just one with a ancestry path across multiple file paths?
Should we show a graph rather than a revision slider and actually add all parents to the review, thus letting the user pick the diff they want to see, or do we ask the review creator what they meant? There is no real way to guess the users intent, they may want to create 2 separate FRXs.