Jazz Forum Welcome to the Jazz Community Forum Connect and collaborate with IBM Engineering experts and users

Why is output of lscm compare inconsistent?

 I am using the lscm compare command to show differences between two streams.  The problem is, the output seems inconsistent.  It could be that I just don't don't understand the nuances of the output but on the other hand, output on Windows seem mostly "normal" - i.e, what I would expect, while output on linux is strange.


Windows command: C:\path-to-component\master>lscm compare -r "local" -I "dcf" ws "mbe release uat build" stream "MBE Release PROD"

Outgoing Changes
  Component (1901) "batch"
  Component (1888) "commonutils"
    /commonutils/MBEUtil/build.gradle
    /MBEUtil/build
    /MBEUtil/build/classes
    /MBEUtil/build/classes/main
    /MBEUtil/build/classes/main/org
    /MBEUtil/build/classes/main/org/kp
    /MBEUtil/build/classes/main/org/kp/mbe
    /MBEUtil/build/classes/main/org/kp/mbe/enums
    /MBEUtil/build/classes/main/org/kp/mbe/logger
    /MBEUtil/build/classes/main/org/kp/mbe/util

Linux command: $ lscm compare -r "local" -I "dcf" ws "mbe release uat build" stream "MBE Release PROD"
Outgoing Changes
  Component (1002) "batch"
  Component (1004) "commonutils"
    /MBEUtil/build
    /MBEUtil/build/classes
    /MBEUtil/build/classes/main
    /MBEUtil/build/classes/main/org
    /MBEUtil/build/classes/main/org/kp
    /MBEUtil/build/classes/main/org/kp/mbe
    /MBEUtil/build/classes/main/org/kp/mbe/enums
    /MBEUtil/build/classes/main/org/kp/mbe/logger
    /MBEUtil/build/classes/main/org/kp/mbe/util

Question 1: Is it normal for the component IDs in two different workspaces from the same stream to be different?  I don't have a problem with that, but it's a bit counter-intuitive.

More output, linux:
 Component (1010) "master"
    /arscli-test.properties/arscli-test.properties
    /build.gradle/build.gradle
    /buildnumber.properties/buildnumber.properties
    /buildSrc/buildSrc/build.gradle
    /buildSrc/buildSrc/instruct_style_txt.xml
    /buildSrc/buildSrc/src/main/groovy/CompareWtoS.groovy
    /buildSrc/buildSrc/src/main/groovy/Deliver.groovy
    /buildSrc/buildSrc/src/main/groovy/Executor.groovy
    /logging.properties/logging.properties
  Component (1012) "mbestaging"
    /alter/alter/cm-alter-13-MBE_PEP_STAGING_STATUS.sql
    /alter/alter/cm-alter-16-EXTERNAL_SYSTEMS_CREATE.SQL
    /day-one/day-one/MBE_PROPERTY_CONTROLLER.sql
    /day-one/day-one/MBE_T4_STATUS_TABLE.sql
    /db-objects/db-objects/MBE_PROCESS_T4.sql

Question 2: Why does the path sometimes include the component name and sometimes not?  In all cases workspaces were loaded to include component as the parent folder.
Question 3: Is it a bug when the first subpath is repeated?  E.g., above where you see buildSrc/buildSrc and alter/alter, and day-one/day-one, those are not actual duplicate folder names.  The same component from Windows looks (correctly) like this:

 Component (1907) "mbestaging"
   /mbestaging/alter/cm-alter-13-MBE_PEP_STAGING_STATUS.sql
   /mbestaging/alter/cm-alter-16-EXTERNAL_SYSTEMS_CREATE.SQL
   /mbestaging/day-one/MBE_PROPERTY_CONTROLLER.sql
   /mbestaging/day-one/MBE_T4_STATUS_TABLE.sql
   /mbestaging/db-objects/MBE_PROCESS_T4.sql

Note the inclusion of the component name in the path (which is how all these workspaces were loaded).  The same issues are evident using json output.

Does anyone have any idea?  Mainly, it's hard for me to write any scripts when I don't know consistently whether the path includes the component name and obviously, the duplicate path parts are problematic.

Any help would be appreciated.  Thanks!


- Andy


0 votes


Accepted answer

Permanent link
1. The numbers shown in parenthesis are not UUID's. Those are called aliases so that it could easily referenced/typed in the command line operations rather than specifying a longer cryptic UUID. These aliases are command line tool specific and it also differs from system to system for the same artifact. Aliases start from 1000 and rollover after 9999. Do not use aliases in scripts. Use UUID's and to show uuid specify the -u option as follows... 'lscm -u y compare ....'

2. Compare should not be concerned about how the component was loaded. What is confusing here is that the ouptut of windows in the first example for component 'commonutils' does not show the component name in the paths except in the first item where as in last example for component 'mbestaging' it shows the component name in all the paths. It is a defect.
3. The folder name must not be repeated. It is a defect.


Andy Jewell selected this answer as the correct answer

1 vote

Comments

Thanks, Shashikant.  I knew that number was an alias but I didn't stop to think what that meant (e.g., there could be multiple aliases).  I'll update my scripting approach accordingly! 


One other answer

Permanent link
 My approach here was to assume this was a glitch in the tool and I am just doing additional processing in the custom scripts to tweak the path as required.

0 votes

Your answer

Register or log in 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.

Search context
Follow this question

By Email: 

Once you sign in you will be able to subscribe for any updates here.

By RSS:

Answers
Answers and Comments
Question details
× 1,202
× 158
× 113
× 87
× 35

Question asked: Oct 30 '13, 5:34 p.m.

Question was seen: 5,749 times

Last updated: Dec 16 '13, 4:13 p.m.

Confirmation Cancel Confirm