It's all about the answers!

Ask a question

Deliver a snapshot from one stream to another

Niraj Doshi (175) | asked Oct 04 '19, 2:33 p.m.
edited Oct 04 '19, 2:34 p.m.
We have staging and production streams, where we want to only deliver selected builds from staging to production, depending on if they were tested successfully or not.

Is there a way to deliver a particular snapshot in one stream (staging) to another (production)?

Something like
scm deliver -s "staging" -t "production" -snapshot "<uuid>"


I looked at the "deliver" command, it supports delivering a baseline, but not a snapshot. The issue is that my stream has 25 components in it, so delivering a snapshot makes more sense here.

Thank you.

Niraj Doshi commented Oct 07 '19, 8:18 a.m. | edited Oct 07 '19, 8:18 a.m.

I think I am getting forward with the replace-components command.

scm workspace replace-components "<stream>" snapshot "<snapshot UUID>" --all
Time will tell if that's the correct choice.

Ralph Schoon commented Oct 07 '19, 9:09 a.m.

As far as I know, snapshots can not be delivered. Snapshots are owned by a stream and track the baselines for the components in the stream at the time the snapshot is created. If needed or forced new baselines are created. 

The baselines created will be delivered. 

It is unclear what you want to achieve.  You can create a new workspace or stream from the snapshot, I suppose. 

Niraj Doshi commented Oct 07 '19, 1:30 p.m. | edited Oct 07 '19, 1:30 p.m.
Thanks Ralph.

What I am trying to achieve is to "promote" the snapshots which are deemed appropriate by testing team to be released to "production" stream from "staging" stream.

I am open to any approaches to achieve this, and just presented the one I knew could be done.

Ralph Schoon commented Oct 08 '19, 2:14 a.m.

I have not had a lot of time, but I was not able to find anything promising yet. It might be, that there is nothing. One option would be to recreate the configuration in the stream and take a new snapshot. Another option would be to look into the Plain Java Client Libraries this should be doable using the API. I would also think that an enhancement request could be created, if you do not find anything else.

The Eclipse UI "Promote" does basically change the owner of the snapshot from one stream to another, as far as I know. 

One answer

permanent link
Geoffrey Clemm (30.1k33035) | answered Oct 13 '19, 3:26 p.m.

I believe the best approach to deliver a configuration that spans multiple components is to not use snapshots at all, but rather use hierarchical components.   This allows you to use the normal deliver/accept operations.  For details, see:

Your answer

Register or to post your answer.

Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.