How to compare snapshot with stream using client java API
Accepted answer
Hi Vikrant,
There is no plain java client API to compare a snapshot with a stream. As you mentioned there is only an API to compare two snapshots.
One option is to create a snapshot (aka baseline set) and compare the two snapshots. This could create alot of unnecessary snapshots and baselines if this code is invoked frequently.
Another option is to use the SCM CLI to compare the snapshot with the stream (lscm help diff). Note that it will give file content diffs and not the list of change sets. I'm not sure if that is sufficient for your case.
Finally, the compare can be done (carefully, to avoid performance problems with the server) yourself. You can fetch the change history of each baseline in a snapshot (IBaselineSet.getBaselines(), IWorkspaceManager.fetchCompleteItem(), IWorkspaceManager.getBaselineConnection()) using IBaselineConnection.changeHistory() and then use that change history to compare with the matching component change history using IWorkspaceConnection.changeHistory(). It will be good to put limits in place to avoid walking back into very large histories.
I hope that this helps,
Chris
There is no plain java client API to compare a snapshot with a stream. As you mentioned there is only an API to compare two snapshots.
One option is to create a snapshot (aka baseline set) and compare the two snapshots. This could create alot of unnecessary snapshots and baselines if this code is invoked frequently.
Another option is to use the SCM CLI to compare the snapshot with the stream (lscm help diff). Note that it will give file content diffs and not the list of change sets. I'm not sure if that is sufficient for your case.
Finally, the compare can be done (carefully, to avoid performance problems with the server) yourself. You can fetch the change history of each baseline in a snapshot (IBaselineSet.getBaselines(), IWorkspaceManager.fetchCompleteItem(), IWorkspaceManager.getBaselineConnection()) using IBaselineConnection.changeHistory() and then use that change history to compare with the matching component change history using IWorkspaceConnection.changeHistory(). It will be good to put limits in place to avoid walking back into very large histories.
I hope that this helps,
Chris
One other answer
Try this: http://lmgtfy.com/?q=compare+snaphot+java+api+site%3Ajazz.net
First answer from the top.
First answer from the top.
Comments
vikrant kamble
Oct 13 '15, 2:10 a.m.vikrant kamble
Oct 14 '15, 3:04 a.m.