More Information

Follow Us

Join our community of like minded
individuals and be the first to hear
about products, news and deals.

Newsletter



[Collapse]CodeCollaborator 5
 [Expand]Big Picture/support/viewarticle/20018/
 [Expand]Server Administration/support/viewarticle/20087/
 [Expand]Web User's Guide/support/viewarticle/20071/
 [Expand]Clients/support/viewarticle/20077/
 [Expand]Version Control Integration/support/viewarticle/20031/
 [Expand]External Integrations/support/viewarticle/20301/
 [Collapse]Techniques & Best Practices/support/viewarticle/20302/
   Metrics: Definitions/support/viewarticle/20300/
   Metrics: Analysis/support/viewarticle/20299/
   Multiple Change Changelists/support/viewarticle/20225/
   Tips and Tricks/support/viewarticle/20082/
 [Expand]Appendices/support/viewarticle/20078/
Updated: 4/18/2011 Applies To: CodeCollaborator 5 Rating: No votes Click to rate: PoorNot badAverageGoodExcellent

Multiple Version Changelists

Top Previous Next

A changelist is a generic SCM concept representing a set of changes in version control. Changelists for some SCM systems like Perforce and Subversion are atomic entities, representing a single unit of changes that occur at the same time. Other SCM systems have changelists that accumulate changes to file versions over time, allowing multiple changes (versions) of any given file within the same changelist. Some examples of this latter type of changelist are ClearCase Activities, MKS Change Packages, and CMVC Tracks.

For these multiple-version changelists, the changelist represents an accumulation of changes to each of the source files in it. In most cases, in the context of a code review or in thinking about what the changelist represents, users are interested in the difference represented by the accumulation of changes in the changelist, i.e., for each source file the difference between the latest version occurring in the changelist and the version content that existed before the first change in the changelist. Code Collaborator calculates differences based on this, when a multiple-version changelist is uploaded to a review.

This can be confusing in some circumstances. If an added file is part of the changelist, and there are subsequent changes to that file in the changelist, then uploading this changelist for review will result in the latest change to that file appearing as an add in the changelist. In other words, it will have no predecessor. In an SCM system where added files are always version 1.1, a review of a changelist having version 1.5 of a file with no predecessor is incongruent with the versioning of the SCM system. Yet this is exactly what the accumulation of changes to that file in the changelist represent - a sum total of changes that did not exist before the changelist.

While it might be possible to find and upload all versions of each file that occur in a multiple-version changelist and make them available for comparison in Code Collaborator, in our experience this makes for an unnecessarily complicated code review - this is less of a code review feature and more of a version history browser feature. If a review is to be conducted on successive revisions to a file in this way, the review should be conducted at each iteration of the changelist. Uploading the same changelist to the same review as each successive set of changes is made as part of the rework step of the code review will result in all of the versions of each file being available in the code review, and each version being available for inspection by the other review participants.



© 2012 SmartBear Software. All rights reserved.
Email Send feedback on this document
 

+1 978-236-7900

© 2012 SmartBear Software. All rights reserved.
Home | Privacy | Terms of Use | About | Contact Us | Site Map | Print