Jump to: navigation, search

Talk:ALF/SCM Vocabulary

Notes on ALF/SCM Vocabulary

posted on behalf of Liya Jan by Tim Buss

Hi,

I'd like to publish my notes on Notes on ALF/SCM Vocabulary:

Objects

* missing SVN terms for all objects

Workspace

(Subversion: Working copy)
- a unique name within the SCM system -> why client workspace should have a unique name within the SCM system?..

Element

(Subversion: ??)
- an element-type -> is meta-data an element as well?

Version

(Subversion: Revision for a single file ?? or [none])

Change-Set

(Subversion: Revision)

Branch/Stream

(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

Configuration

(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

Component

(CVS: can be a Module (also aliased module), SVN: [none], can be defined using svn externals, but too limited)

Repository

(Subversion: Repository)
- i think 'An owner' is not relevant here as well
- Permissions - can be problematic to define

Use Cases

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'