Is there a way to create a RTC snapshot or baseline based on a past date?
Asked Answered
rtc
T

3

6

I'd like to create a new stream based on the state of an existing stream at a given date. To do this, it seems the logical thing to do would be to create a baseline in the source stream at a past date/time, but I've not found a way to do that.

Is it possible to create either a baseline or snapshot at any time other than the current state of the component/stream?

Thanks, John

Tote answered 15/7, 2013 at 15:24 Comment(0)
H
6

What you can do is:

  • Create a new stream with an old baseline (created before the past date you are looking for)
  • create a repo workspace
  • add in the "flow target" section of that repo workspace the current stream you were working in before (and which includes all the latest change sets, created well after that "past date")
  • setting that current stream as "current" in the "flow target" section.

That will list all the change sets (created after that old baseline) as "to be accepted" (in the "Incoming" section of your repo workspace in your "pending changes" view.

You would then accept those change set, from the oldest up until one change set created at the target date.
You would not accept the remaining change set created after that date.

You can then:

  • create a baseline (just to record the state of the code base you just made, with all the change sets you have accepted)
  • set back your new stream as current in the "flow targets" section of your repo workspace
  • deliver that new baseline
  • start working in that new stream.
Handmade answered 15/7, 2013 at 15:40 Comment(0)
S
3

The answer given by @VonC is, IMO, the best way to create a stream based on an arbitrary time in the past that is not referenced by a baseline.

To answer your second question "Is it possible to create either a baseline or snapshot at any time other than the current state of the component/stream?"

Baseline - no. Baselines record the current state of the component.

Snapshot - If you have no baselines to refer to, then there is no way to create a snapshot that points to some point in the past. However, if a component baseline exists, it is possible to create a snapshot that points to this baseline even if changes have occurred in the component since this baseline. Here's how:

Say baselines BLN1 and BLN2 are two baselines on component COMP that record different states of this component (BLN2 being the latest). To create a snapshot SNP1 on the stream my_stream that encapsulates BLN1, you'd do the following:

  1. Create a new stream (call it test_stream) and add component COMP @ BLN1
  2. Create the snapshot SNP1 on test_stream: select BLN1 for baseline value.
  3. Delete this new stream test_stream - at which point you will be asked to move the snapshot SNP1 to another stream. Choose my_stream.
  4. Once test_stream is deleted, the orphaned snapshot SNP1 find a new home in my_stream and also points to the older baseline BLN1.

This works in RTC v4.0.3 - if you use a different version of RTC, you may want to try this out in a test project area first.

Semidome answered 14/1, 2014 at 6:59 Comment(1)
Nice one on the snapshot. +1. Note that colleagues of mine tested my approach for rebuilding a stream at a past date, and reported being plagued by conflict when RTC re-applied change set from the oldest to the newest. So it wasn't a smooth process.Handmade
U
0

Create a workspace pointing to stream that contains the baseline and select the desired component. On workspace editor, select component and click the button "Replace With...", select "Component baseline", click next and select the baseline.

Unsung answered 25/8, 2014 at 19:49 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.