For some reason, unityYAMLmerge in PlasticSCM when used with prefabs adds line breaks to pretty much all existing lines (even lines that needn’t be merged)
This can’t be by design can it?, as this makes double checking merges completely impossible.
Am I doing something wrong? Is this a bug?
See attached screenshot.
Unity 2021.3.20f with PlasticSCM (or whatever the f it’s now called) 11.0.16.8060
Yeah, it’s an old bug of UnityYAMLMerge.exe, and so far they haven’t bothered to fix that :-/
See footnote here: Unity YAMLMerge [Uninomicon]
So PlasticSCM is not at fault, but since it internally calls UnityYAMLMerge, this problem becomes visible.
There is a relatively new (>=2020.x?) Editor setting SerializeInlineMappingsOnOneLine, which appears to be ON by default - but UnityYAMLMerge completely ignores this, and always creates output emulated with this setting OFF.
Until Unity fixes this, your best bet will probably be to DISABLE this flag, and force-reimport all scenes+prefabs once (untested - will probably not help directly, as a re-import generally doesn’t modify the Assets, only the metadada).
Another method would be to disallow PlasticSCM from calling UnityYAMLMerge, by configuring its MergeTools for the entry “.prefab;.unity”, so it uses the regular diff tool instead - at the cost of possibly slightly less intelligent diffs.
Thanks for bringing this to our attention. I will try to reproduce the situation when possible and report this issue to the relevant team. Once the report is completed, I will share the update here.
Thanks, I have trouble reproducing it myself, but if you have a case number or the report, I’ll check if I can send you that particular changeset of the project, if that helps ofcourse.
The team is still working on the investigation as the issue appears randomly based on the version of the engine. Once there’s a further update, it will be updated here as well.