Cherry-picking is a technique of porting only selected commits from one branch to another. It's directly supported in GIT by special command:
git cherry-pick <SHA-COMMIT-ID>
Also SVN has simple merge mode that supports selecting of single commit:
svn merge -c <REV-NO> <URL>
What about Perforce? After checking Perforce documentation for merging I hit the following syntax for selecting subset of changelists to merge:
p4 integrate //depot/release/jam/...@30,@30 ...
That's it: add the same change list id twice (separated by comma) to source URL and you will get cherry-pick!
[2011-04-20] Update: looks like sometimes @CL,@CL will not merge change properly, it's better to use SVN-style revision range mode (@CL-1,@CL):
p4 integrate //depot/release/jam/...@29,@30 ...
Perforce has additional step to perform:
p4 resolve -af
that walks thru all changes from integrate step and allow to check for conflicts. Of course in the end you have to commit changes.
BTW. I (still) don't see any benefit from using Perforce over well-known SVN. Anyone?