In this example there are two streams, RELEASE and MAINTENANCE. The MAINTENANCE stream was branched off the RELEASE stream from changeset 5. Your team has made multiple deliveries to the RELEASE stream which has created changesets 6, 7, 8, and 9. The modifications in each changeset are related to a different request:
Request CR_1 is related to item3;rel#4.
Request CR_2 is related to item1;rel#2 and item2;rel#4.
Request CR_3 is related to item1;rel#3 and item3;rel#5.
In the MAINTENANCE stream you want to:
Merge the changes that were delivered in changeset 8 to the RELEASE stream (related to CR_3).
Ignore the previous changes delivered to the RELEASE stream (changesets 6 and 7).
Cherrypicking CR_3 during a merge from request operation only includes the changes applied when changeset 8 was created:
The difference between item1;rel#2 and item1;rel#3.
The difference between item3;rel#4 and item3;rel#5.
The changes to item2 are not applied as it is not affected by CR_3.
The merge operation creates changeset 2 in the MAINTENANCE stream.
TIP
If you perform a regular merge from request using CR_3, and do not specify the Cherrypick option, the entire contents of these files are merged:
item1;rel#3 (including changes in item1;rel#2)
item3;rel#5 (including changes in item3;rel#4)
To apply all the changes made before changeset 8 of the RELEASE stream was created, merge from a stream version (not a request).