DSCM How to identify if a Changeset is a replica?
![](http://jazz.net/_images/myphoto/a6972ec00643f042772dbc7c916c73ae.jpg)
Hi Everyone,
Is there any way to differentiate between an "original changeset" and a "replicated changeset"?
I´m interested in the answer both for GUI and API.
I know already that when one does distributed delivery to another repository, both changesets uuids keeps the original value.
For my use cases it´s really important to know if a component (baslienes and changesets) comes from another repository....
Thank you.
Accepted answer
![](http://jazz.net/_images/myphoto/a6972ec00643f042772dbc7c916c73ae.jpg)
Diogo,
The only way I can think of to do this would be to look at the version identifiers for the file states in the change sets. File states have a short identifier, which is just an integer, and a long identifier, that is of the form shortId@repoUUID. You can get the version identifiers for file states using the API IWorkspaceManager#getVersionableIdentifiers. The article https://jazz.net/library/article/1418 talks about using version identifiers in a distributed environment.
One final note. It is possible that the end state in the change set came from another repo (e.g. if a resolve with proposed was performed) so you may need to check multiple states in the change set.
Hope this helps,
Michael
The only way I can think of to do this would be to look at the version identifiers for the file states in the change sets. File states have a short identifier, which is just an integer, and a long identifier, that is of the form shortId@repoUUID. You can get the version identifiers for file states using the API IWorkspaceManager#getVersionableIdentifiers. The article https://jazz.net/library/article/1418 talks about using version identifiers in a distributed environment.
One final note. It is possible that the end state in the change set came from another repo (e.g. if a resolve with proposed was performed) so you may need to check multiple states in the change set.
Hope this helps,
Michael
Comments
![](http://jazz.net/_images/myphoto/a6972ec00643f042772dbc7c916c73ae.jpg)
For a Changeset based SCM system this answer is really weird.
Doesn´t the changeset follow the same standard? I mean, part of the UUID coming from the repo uuid?
![](http://jazz.net/_images/myphoto/f7cb6ce1027e4cd59e9af6ac907b490b.jpg)
No, the change set UUID determination uses the UUID generator provided by the EMF framework. The decision to use this approach predates the introduction of distributed SCM. Version identifiers were introduced after distributed SCM so have the long form which includes the repo UUID.