Move and rename detection

The Project Merge Tool has additional logic to detect, report, and act upon relocation of items and folders due to moves and renames, treating them as true relocations. This is in contrast to older versions of the Project Merge Tool that represented relocations as two separate events, a deletion at the old location and an addition at the new.

This additional functionality is only enabled for projects and baselines providers, and only if no more than two derivatives are specified. Note that folder moves are detected by interpreting the paths of moved items. The detection of relocated empty folders is not supported.

To demonstrate how this can affect change detection, consider the following simple baseline structure:

baseline_structure.gif

In a derived project, rename and update snake.bmp to reflect a change in file format to snake.jpg. Additionally, move the bitmaps folder under src and rename to images. When comparing that baseline and project using older versions of the Project Merge Tool, you would have seen:

moves_old.gif

Although only one item and folder was acted upon, all rows are marked as changed. Because the original folder location is marked as a deletion, and the new folder location is marked as an addition, it implies that all children underneath are of the same change type. This, in turn, means that the fact that snake.bmp was updated and renamed is obfuscated by the inherited parent folder state.

And so, with the correct interpretation, the same data is represented like this:

moves_new.gif

Back to top