It's all about the answers!

Ask a question

Did the behavior of scm load --force --all with an explicitly selected component change in 4.0.1/4.0.2?

Garrett Rolfs (8388) | asked May 04 '13, 4:57 p.m.
We upgraded from to 4.0.2, so this may have changed in 4.0.1.  I have a user that is loading multiple components into the root of the sandbox.  The -i option is not used, so files at the component roots are being loaded at the sandbox root.  Some of the components have .jazzignore and .project files at their roots resulting in a collision on load.  On clients and earlier, the user was able to load all components by using a command similar to this:

scm load -d <sandbox location> --force --all -r <repository> <workspace> Build

On 4.0.2 the above command results in a load completed successfully message, but only the Build component is loaded into the sandbox.  Were we just getting lucky with the above invocation on older clients and the result we see in 4.0.2 is the true, expected behavior?

We have solved/worked around the problem by creating load rules.  However load rules do have one disadvantage in that they must be edited each time a component is added or removed from the stream/workspace.

2 answers

permanent link
Spencer Murata (2.3k115971) | answered May 09 '13, 5:25 p.m.
 My experience from the build side of things is that load was more forgiving in earlier versions.  I have seen similar build situations like yours that worked fine in older versions, and the load would simply overwrite file collisions, but now the behavior has changed to be very strict on file collisions.  There are several workarounds like what you have done, moving .project files to child folders, or selecting loading components as root folders.


permanent link
Shashikant Padur (4.2k27) | answered May 10 '13, 6:08 a.m.
The --all option is in fact redundant from 401 onwards. Even if you do not specify --all it will load all the components. If you specify a component then it will load only that component.

Pre 401, it used to load all the components if --all option was provided and it took precedence even if a component was provided.

So, if you have the same filename at the root of the components and you load without the -i option, then the tool will report "Load could not complete due to collisions."

Your answer

Register or to post your answer.