It's all about the answers!

Ask a question

Team Concert v4.0 - compare baselines using the 'scm' command-line utility

p m n (271913) | asked Nov 18 '13, 11:39 p.m.
retagged Dec 16 '13, 5:45 p.m. by David Lafreniere (4.8k7)
I need some guidance with running the "scm compare" command:

I'm trying to compare the latest in a stream ('my_test_stream') and a baseline (Release_2013_1); however, I get the following error.
/home/pmn/workspaces/pmn_release_2013_1 > scm compare -r local -c nm -I f stream my_test_stream baseline Release_2013_1
Ambiguous selector "nm" matched multiple items:
Possible matches:
  (1016) "nm"
  (1098) "nm"
Problem running 'compare':
Ambiguous component "nm".
/home/pmn/workspaces/pmn_release_2013_1 >
I suspect the command syntax is correct; though, I'm unable to find out what the colliding item is. Is there a way to find out where this collision is occurring? Or to qualify the above command to specifically use 1016 instead of 1098?

Here's the output of the status of the workspace (just to show you that there is no duplication in the components):
/home/pmn/workspaces/pmn_release_2013_1 > scm status -w
Workspace: (1091) "pmn_release_2013_1" <-> (1069) "release_2013_1"
  Component: (1004) "Admin"
    Baseline: (1115) 9 "BL_2013_12341.1"
  Component: (1016) "nm"
    Baseline: (1116) 12 "BL_2013_12341.1"
/home/pmn/workspaces/pmn_release_2013_1 >
I'm running this from an RHEL host and I'm connected to RTC version 4.0. 


Accepted answer

permanent link
Shashikant Padur (4.2k27) | answered Nov 19 '13, 12:35 a.m.
As the error message indicates there are two components with the same name (probably created by the same user or different users). If you run 'scm list components --name "nm"' you should see two components listed.

Yes you can provide the alias (1016) to the '-c' option. In your case:
scm compare -r local -c 1016 -I f stream my_test_stream baseline Release_2013_1

Note: The alias is specific to scm command line and will be different in another system for the same artifact. If you are using commands in the scirpt use the UUID of the item. To show the UUID specify '-u' option. For example: scm -u y <command> <options>'

p m n selected this answer as the correct answer

p m n commented Nov 19 '13, 1:13 a.m.

Thanks for your reply. Your solution of using the component-number worked. I have a few related questions:

1) Like you said, the "list" command listed two "nm" components

/home/pmn/workspaces/pmn_release_2013_1 > scm list components -r local -name "nm" -m 9999 | grep nm
(1016) "nm"
(1098) "nm"
/home/pmn/workspaces/pmn_release_2013_1 >

However, this command lists the components from all the RTC project areas in the server. How do I find out where 1098 is located in particular?

2) The project area that I access has only two components - and the stream has only these two components - as seen in the "scm status" command. Why is there a collision with a component that is not in the same project area? 

3) I'm using the compare command right from the shell; however, I didn't quite follow how to use "scm -u y" -  should I, for example, use "scm compare -r local -u y -c 1016 -I f stream my_test_stream baseline Release_2013_1" when running this via a script?


Shashikant Padur commented Nov 19 '13, 2:09 a.m.
1) To get the properties of a component such as owned by and visibility, run 'scm component propertylist 1098'.

2) Is a defect. The command should only look for the component in the specified stream if the stream was specified.
3)  Try running 'scm -u y list component ..." or 'scm -u y compare ...." to list the UUID's for items.

p m n commented Nov 20 '13, 12:47 a.m.

Thanks. BTW, I don't think the scm command in RTC v4.0 has this subcommand in it ("scm help" doesn't list it and "scm component" throws an ' Unknown subcommand: "component" ' error). I also have access to Windows RTC client (Eclipse) - is there a way to find where 1098 is located from this client?

Shashikant Padur commented Nov 20 '13, 2:07 a.m.

I believe it was implemented in 4.0.1.

In the Eclipse client you can search for the name of the component (Search Menu ->  Jazz Source Control -> Components) and in the search result list right click and choose open. That should open the component editor and show the details.

p m n commented Nov 25 '13, 12:44 a.m.

Sorry for the late response. Yes, this worked - I was able to use the GUI to get the details. Thanks, once again.

Your answer

Register or to post your answer.