Version Identifier Demo Te-Hsin Shih Why Do Customers Need Version Identifier • The main use case for the version identifier is for auditing purpose. – Customers would like be able to record and compare different version of files that is contained with in a configuration. – Currently, customers were using UUID to identifier individual files. – UUID is long, hard to read and easy to make mistakes. – The version identifier must be unique (across all repositories for distributed SCM customers). – The new version identifier should be human friendly and should provide some “meanings” for relationships between two versions. • To see all version id user stories, please run the query “Version Identifier User Stories” in jazzdev database under version id team area or visit the web-site: https://jazz.net/wiki/bin/view/Main/SCMVersionIdentifierUserRequire ments Which version scheme shall we use • Parallel branch version schemes Drawbacks – – It is difficult to maintain meaningful parallel branch information with discard and other operations in RTC. The version ID string can get pretty long. Which version scheme shall we use • Sequential version schemes – – – Source: Design Manager File versions are assigned the next sequential integer, no matter the provenance Any change to a branch is shown as an increment, even if it is a rollback Benefits: – Extremely simple, no long version IDs Drawbacks – Branching structure and sequence is not apparent from the version ID. Challenges for distributed SCM • How to keep version id unique in distributed SCM? – If a versioned object is replicated to a remote repository and people are making change in both repositories, how do we keep the version identifier unique? • In order to solve this problem, we decide to add repository id to the version identifier. – Here is how the version id would look like • 1/_vQM5gXckEeOZP-FlpfvC5w • New terminology – Version Number: the sequential number that represents the sequence of the objects created in a repository – Version Identifier: the unique string (version number + repo id) for each version object across all repositories. • Future work – We may provide a user friendly name for each repository in the future to make the full version identifier string more user frientdly. Demo Q&A
© Copyright 2026 Paperzz