Did the behavior of scm load --force --all with an explicitly selected component change in 4.0.1/4.0.2?
We upgraded from 4.0.0.1 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 4.0.0.1 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
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.
~Spencer
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."