In post TFS Integration Platform – Configuration: Question & Answer 9 we introduced snippets from the Pioneer Dogfood configuration files. Some of the eagle vision readers noticed another feature that we have not explained yet … MergeScope, as highlighted in the snippet from the snippet below:
“Rosie” … the Eagle in Dullstroom, sponsored by my son Jacques, who has the same serious facial expression.
Why was this feature necessary?
Merge operations, especially at the root level, are expensive and slow.
What does this feature do?
The feature allows us to ignore potentially large forward integration (FI) and reverse integration (RI) merge changes between branches.
How does it work?
The MergeScope feature scopes the merge, which means that any merges that are under the mapped path will be processed, whereas the ones outside of the scope will be ignored
It means that for any merges under the mapped path, the merge from path must be within the path specified by the MergeScope, otherwise the action is ignored. In addition, if the path is out of MergeScope a Branch action will be changed to an Add and a Merge|Edit action to an Edit action.
- A merge from $/Dev/feature/BranchTools/SampleFrom to $/Dev/feature/BranchTools/SampleTo is within scope as per line 25/26 above and will be performed as a merge action.
- A forward integration merge from $/Main/feature/BranchTools/SampleFrom to $/Dev/feature/BranchTools/SampleTo is not within scope and will be skipped (ignored).
Thanks Pei, for the information!