It's all about the answers!

Ask a question

Does "scm" have way to list snapshot properties?


Glenn Herbert (12667) | asked Nov 01 '11, 3:32 p.m.
Is there any existing scm command that can list out the properties of a snapshot? I'm looking for the components and baselines associated with the snapshot, similar to what you'd see when viewing the "Snapshot" panel after opening the snapshot within the RTC client.

The reason for this type of information is because we are using an ANT script to drive the creation and population of components (from project streams across 15-20 different teams) within a workspace and set those components to a specific snapshot (using workspace replace-component); scm load would then be used to download source from those workspace components to the local build machine. Because the creation of a snapshot may or may not trigger the creation of a baseline on a component, we need some way to correlate that the baseline shown in the workspace component (after replacement) is actually that of the snapshot.

Currently our script outputs the following:
     Workspace: buildWorkspace (1071)

Component: Component1 (1030) set to
Snapshot : BUILD14 (1074)


The repository workspace listing within the RTC client shows (note the baseline in parenthesis):
     - buildWorkspace (loaded)

Component1 (10: BUILD-09-27-2011)


Opening the snapshot BUILD14 within the client we can see the correlation:
     Components

shows the components in this snapshot
Component1 (10: BUILD-09-27-2011)


Having access to this type of information, we could modify our script output to be more meaningful, such that one can quickly correlate that Component1 is indeed set to the correct baseline associated with the snapshot:
     Workspace: buildWorkspace (1071)

Component: Component1 (1030) set to
Snapshot : BUILD14 (1074) which includes
Baseline : 10: BUILD-09-27-2011


Ideally this command (for example scm property --stream <stream_name> snapshot <snapshot_name>) might generate info as follows:

snapshot name: XYZ
description: <description>
created by: <owner name> created on: <creation date> modified on: <modified date>
<component 1>(baseline info)
<component 2>(baseline info)
etc

Similar information for streams and workspaces would also be beneficial, ie --stream <stream_name>, --workspace <workspace_name>

Many thanks in advance!

4 answers



permanent link
Tim Mok (6.6k38) | answered Nov 02 '11, 8:42 a.m.
JAZZ DEVELOPER
I'm not familiar enough with the command line to know if there's a way to list more details about a snapshot. However, I think it may make more sense to detect if the replace command was successful. You'll get an error if the replace didn't work.

Did you want this confirmation because of baselines not always being created when creating the snapshot?

permanent link
Glenn Herbert (12667) | answered Nov 02 '11, 8:53 a.m.
Exactly.

Now the script does detect if the replace command was successful (or not) and takes appropriate action as needed. However, from a user "viewing" perspective, if snapshot "BUILD14" did not create a baseline (also named BUILD14) on a component, then baselines look "amiss". By having that little extra bit of information as to what baseline is associated with snapshot BUILD14, it removes any doubt.

I'm not familiar enough with the command line to know if there's a way to list more details about a snapshot. However, I think it may make more sense to detect if the replace command was successful. You'll get an error if the replace didn't work.

Did you want this confirmation because of baselines not always being created when creating the snapshot?

permanent link
Glenn Herbert (12667) | answered Nov 02 '11, 2:28 p.m.
A quick update. By adding --verbose to the scm list snapshot... command, the description and creation date/time associated with that snapshot is displayed.

(1072) "BUILD14" (Replacement #3) Nov 1, 2011 12:43 PM
(1039) "BUILD14" (orig: Snapshot Test 1) Sep 22, 2011 4:39 PM
(1038) "BUILD14" (My test) Oct 12, 2011 2:16 PM

Exactly.

Now the script does detect if the replace command was successful (or not) and takes appropriate action as needed. However, from a user "viewing" perspective, if snapshot "BUILD14" did not create a baseline (also named BUILD14) on a component, then baselines look "amiss". By having that little extra bit of information as to what baseline is associated with snapshot BUILD14, it removes any doubt.

I'm not familiar enough with the command line to know if there's a way to list more details about a snapshot. However, I think it may make more sense to detect if the replace command was successful. You'll get an error if the replace didn't work.

Did you want this confirmation because of baselines not always being created when creating the snapshot?

Comments
shalini saini commented Nov 20 '14, 2:08 a.m.

what would be the exact command to find the creation date of a snapshot since I see the property set to be displayed for snapshot are only "name" and "description" 


Evan Hughes commented Nov 20 '14, 2:11 p.m. | edited Nov 20 '14, 2:12 p.m.
JAZZ DEVELOPER
scm list snapshots --verbose --json --repository <repo> --name <snapshot-name>
{
    "snapshots": [
        {
            "comment": "<no comment="">",
            "creationDate": "20-Nov-2014 2:01 PM",
            "name": "mah-snapshot",
            "url": "https:\/\/miles-lab.ottawa.ibm.com:19443\/jazz\/",
            "uuid": "_s7AA0HDnEeSlK4FRa695Uw"
        }
    ]
}



I suggest asking a separate question in future, since we don't always check comments on existing answers.


permanent link
Tim Mok (6.6k38) | answered Nov 02 '11, 4:28 p.m.
JAZZ DEVELOPER
You could also create another baseline before creating the snapshot to identify it for the snapshot. No baseline is created if there aren't any change sets since the last baseline. It'll reuse the last baseline instead of creating a new one.

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.