This wiki is locked. Future workgroup activity and specification development must take place at our new wiki. For more information, see this blog post about the new governance model and this post about changes to the website.

SCM Drill Down Scenarios

The use cases described here include browsing through the contents of an SCM configuration, producing a drill-down view or report. The views or reports would start with some build, baseline, or configuration (probably found through a query), and progress through the associated change sets to the associated versioned items.

These use cases combine and replace the two previously described scenarios of build integration and work item integration, eliminating features that the workgroup has ruled out of scope for the first revision of OSLC SCM services.

The proposed SCM services would include navigation between the various SCM elements (baselines, change sets, version-controlled files, directories, and symlinks, etc.), in at least the downward direction. Bidirectional navigation is also useful, but might not be needed for this initial scenario of a drill-down report.

It is not yet defined how such navigation should be extended to other OSLC areas, such as change management, requirements management, and quality management, etc., but such navigation is highly desirable; there is significant extra value in a report that shows the changes between baselines in terms of defects fixed, requirements satisfied, tests passed, etc.

Note that all services proposed for this first revision are read-only, and would be provided using GET requests.

Use cases:

  • Query for baselines with some properties, including the ability to find recently created baselines
  • Find a baseline by URL(obtained from the above query, or possibly through a link from some other OSLC service)
  • Get the properties of a baseline, including if available:
    • the identity of the user who created the baseline
    • date and time of creation
    • comments or description
    • baseline status
    • stream, activity, branch, or release
    • build number or identity
    • build bill of materials
  • Get the members of a baseline; the result would show the hierarchical structure of the directories, links, and files in the baseline, with the ability to inline selected properties of those objects, including if available:
    • identity of the user who last changed the file
    • data and time of last file modification
    • modification comments
    • time the file was included in the configuration
    • file type and encoding
    • the identities of any associated change sets
  • Get the contents of a file or the target of a link
  • Get a list of the members of a directory
  • Find a change set by URL (possibly obtained from a work item, requirement, or test case link)
  • Get the version-controlled objects associated with a change set, with the ability to inline properties as for the baseline members report
  • Report on the differences between two baselines
    • In terms of change sets fully added, change sets fully removed, and change sets otherwise modified
    • In terms of files, links, or directories that were added or removed, or whose version differs
  • Report on the differences between two versions of a file; the result is an XML representation of a line-based diff
  • Test if a given change set is fully included, partially included, or not included in a given baseline
When identifying baselines, we should consider providing both explicitly identified configurations, and for some specially named configurations:
  • the baseline or build that is the immediate predecessor of some other identified baseline
  • the configuration at the start of the appropriate branch or stream
  • the configuration at the head (end) of the appropriate branch or stream
Edit | Attach | Print version | History: r5 | r4 < r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r1 - 03 Nov 2009 - 22:41:33 - NickCrossley
 
This site is powered by the TWiki collaboration platform Copyright � by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Contributions are governed by our Terms of Use
Ideas, requests, problems regarding this site? Send feedback