It's all about the answers!

Ask a question

Why is output of lscm compare inconsistent?


Andy Jewell (24224868) | asked Oct 30 '13, 5:34 p.m.
retagged Dec 16 '13, 4:13 p.m. by David Lafreniere (4.3k7)
 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


Accepted answer


permanent link
Shashikant Padur (3.9k27) | answered Nov 05 '13, 4:46 a.m.
JAZZ DEVELOPER
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

Comments
Andy Jewell commented Nov 05 '13, 11:31 a.m.

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
Andy Jewell (24224868) | answered Nov 04 '13, 11:46 a.m.
 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.

Your answer


Register or to post your answer.