Notes on ALF/SCM Vocabulary
posted on behalf of Liya Jan by Tim Buss
I'd like to publish my notes on Notes on ALF/SCM Vocabulary:
* missing SVN terms for all objects
(Subversion: Working copy) - a unique name within the SCM system -> why client workspace should have a unique name within the SCM system?..
(Subversion: ??) - an element-type -> is meta-data an element as well?
(Subversion: Revision for a single file ?? or [none])
(Subversion: Branch) - I think that Stream should be defined as a Private Branch and be another different object, more connects to a workspace definition - it's a 'workspace with the unique name within the SCM system' (see Workspace) - Owner is not relevant for a Branch, since a Branch exists in the repository and not on the local/client machine that has an owner
(Subversion: svn:externals can be a part of the configuration)
Baseline -> I think the name should be Tag or Label
(Subversion: Tag) - Owner is not relevant for a Tag, since a Tag exists in the repository and not on the local/client machine that has an owner
(CVS: can be a Module (also aliased module), SVN: [none], can be defined using svn externals, but too limited)
(Subversion: Repository) - i think 'An owner' is not relevant here as well - Permissions - can be problematic to define
Create a workspace
- CreateWorkspace method must have a user and password parameters, or should always come after some kind of login method
Modify a workspace I think this use case is irrelevant - if you change load-rules, configuration, or location of the workspace, it is a different workspace, so you should use 'CreateWorkspace' method for it; unless you mean the "Switch" operation - create a different workspace under the same location - in this case location parameter is irrelevant.
Create new versions of an element
- additional parameters for CreateNewVersions method: String comment, // optional comment String issueId // optional issue id from supported Issue Tracker
Create a new stream (branch) to support parallel development
- additional parameter for CreateStream method (i think it should be CreateBranch): otherOptions OtherOptions // tool specific options
Capture a baseline (snapshot) -> i think CreateBaseline should be CreateTag
Promote versions up to a higher-level stream or branch -> I think this use case is a private case of 'Perform merges of versions, from one branch/stream to another'