How to check if the particular changeset is part of a given snapshot in RTC SCM programatically.
Accepted answer
If you are writing client-side code, the API to use is in IWorkspaceManager:
List<ILocateChangeSetsSearchResult> locateChangeSets(ILocateChangeSetsSearchCriteria scope, IProgressMonitor monitor)
If you are writing server-side code, the API to use is in IScmQueryService:
ILocateChangeSetsSearchResult[] findLocateChangeSets(ILocateChangeSetsSearchCriteria scope, IRepositoryProgressMonitorHandle repoMonitor)
You pass in the IChangeSetHandle and the IBaselineSetHandle (snapshot) to the ILocateChangeSetsSearchCriteria.
You pass in the IChangeSetHandle and the IBaselineSetHandle (snapshot) to the ILocateChangeSetsSearchCriteria.
If the change set exists in the snapshot, then ILocateChangeSetsSearchResult.getSnapshots() will contain the snapshot passed in (otherwise the list will be empty)