1

If I right click on a component within a repository workspace I have the option create a new baseline on this component.

But if I right click on a component from within a stream the option to create a new baseline is not available.

blue-sky
  • 51,962
  • 152
  • 427
  • 752

1 Answers1

3

A baseline must always be created against a repo workspace, as it must be delivered to the stream, and accepted by other collaborators working on the same stream in their respective repo workspaces.

This is different from a snapshot, that you can create on the stream, and which allows both users and the build manager in RTC to take a "snapshot" of a code delivered.

So the difference between snapshot and baseline is that:

  • baseline must be delivered on the stream (ie not created directly)
  • snapshots are for labeling a content already delivered (to initialize, for instance, a new stream with it): no user will accept a snapshot in their repo workspace.

This thread is instructive:

If you are flowing changes to developers, or flowing changes to the build, then you should do so by delivering those changes to a stream, not by creating snapshots.
The developers (or the build) will then just accept changes from that stream.

(That is where Baselines comes from: for each component, they allow to flow a frozen set of changes)

The purpose of a snapshot is to record a point in history, so you can "jump to it" (for example, to reproduce an old configuration), and not as a mechanism for flowing changes.

This is different from ClearCase UCM, in that "Stream" was both for common collaboration space (like an "integration" stream) and user workspace (like "development stream").
The Baseline was both to record a point in history, and to flow changes (through deliver/rebase).
RTC introduces 2 separates environment:

  • a global one for the team collaborating to a given development effort: the Stream (and its snapshots)
  • a user one, for each user to manage his/her changes: the repository workspace one (with its baselines per component)
VonC
  • 1,262,500
  • 529
  • 4,410
  • 5,250
  • thanks, so from your answer is this correct : I have a stream called 'mystream' and I want to create a new baseline of one of the components within the stream. The only way to accomplish this is to create a new baseline within the repository workspace and then create a new stream from this repository workspace (which contains the new baseline) – blue-sky Oct 10 '12 at 13:23
  • @user470184 nope. you can create a new baseline in the repo workspace, and deliver it to the stream. You don't need to create a new stream. – VonC Oct 10 '12 at 13:26
  • 1
    @user470184 Snapshots are useful when you create an new Stream and want to initialize it with the (many) component baselines published in another Stream. Rather than painfully adding each baselines, you can create a snapshot on the source Stream, and add that snapshot on the newly created (but still empty) Stream: in one operation, you get back all your components and their respective baselines (as seen on the source Stream). No repo workspace involved in that case (Stream creation and initialization). – VonC Oct 10 '12 at 13:28
  • ok, so when I create a new snapshot in the repo workspace this change appears in 'pending changes' and when I deliver said change the stream that this workspace is flowing to will receive the new baseline for said component and will be updated. This is correct ? – blue-sky Oct 10 '12 at 13:35
  • 1
    @user470184, yes you can create a snapshot from your repo workspace (or create it directly on the stream). The difference is: the snapshot on the repo workspace will capture baselines that might not have been delivered yet. That is why RTC says the stream will be updated by said baselines when you deliver the snapshot. – VonC Oct 10 '12 at 13:55