It's all about the answers!

Ask a question

Can anyone explain RTC file system Custom Attributes and why lscm get ca returns different results than Eclipse?

Jamie Berry (14013078) | asked Aug 31 '17, 11:19 a.m.

 We are using RTC 6.0.3 and are attempting to utilize Exteneded (custom) attributes on files.  We have an attribute called 'Security' that we have set on files using the Eclipse RTC client.  When doing it here, the value set seems to show correctly even within the history of the work items.  We would like to use the SCM command line interface to retreive the user properties but we are getting inconsistent results.  We have a workspace that has files with the attribute set.  When the workspace is loaded into a sandbox and then the get ca command is used, the values returned generally are nothing or an incorrect value.  We can set the attribute using set ca and then the get ca shows the value, but no change is made and there is no way to share this wtih the stream.  Additionally, checking the property on the file from Eclipse (by showing the repository files in my workspace and then showing properties) doesn't see the changed property.  I have also attempted to unload my sandbox, delete the workspace, create a new one and then load it fresh.  In doing this, the get ca command is still showning the property that was set previously on the file.  Where is it keeping this value (assuming in the .jazz5 folder somewhere as I didn't blow that away).

Has anyone utilized file custom attributes and been able to use the scm command line to retreive them and share changes with the stream?  Also, we ideally just want to find out what the property is on files in a Stream and I don't see a command for that.  The only option I see would be to create a workspace, load it and then access the attributes.  Of course that only works if the commands work...


One answer

permanent link
David Lafreniere (4.7k7) | answered Sep 04 '18, 11:29 a.m.
edited Sep 04 '18, 11:32 a.m.
Custom Attributes are not like 'user properties' that you can set on files (a feature that has been around for a very long time). Unlike user properties, when you associate a custom attribute with a file, no change to that file occurs that you can 'check-in-and-deliver'; also this information is not stored locally (such as in the .jazz5 directory as you asked). The custom attribute name+value is stored on the Jazz repo, and is associated to the file state that you created it on (not the file itself). This is probably the answer to your question. If two streams or workspaces have different states for that file, then you will get different results when checking the custom attribute value. However if both your workspace and stream contain the same state of that file, then setting the custom attribute on that file in your workspace will instantly have it be reflected in the stream as well.

Note: There is also a UI setting you can use when dealing with custom attributes on files, as shown below:
   Behavior when a new file version is created:
   [ ] Do not create the attribute
   [ ] Copy the attribute from the previous version
   [ ] Reset the attribute value to the default value

Another possible answer to your question is that you have selected option 1 or 3, which means every time a new file version is created (i.e. making a new change to that file), and if you check it in and deliver it, you would no longer have the same custom attribute value that you can set on a previous version.

Your answer

Register or to post your answer.