Replacing component in workspace is resulting in some merge conflicts
I am replacing the baseline of a component to a different one and it is giving me a non trivial merge conflict. I am now thinking the files may have different uuids even though they have the same name, and I will go check that now. If anyone happens to know of another way this can be caused, please let me know.
Thanks!
Thanks!
Accepted answer
I think you don't really understand how SCM works, at least not RTC SCM, what you are looking at and what to expect.
1. Baselines: Specify a set of changes that make the state/content of the component
2 Stream: A set of components, Each component specifies a set of changes that make up the state/content of the component
3. Repository workspace: "Personal Stream"
If you have a stream and a repository workspace pointing at each other and you replace the baseline of a component in one of them, but not the other, it is absolutely possible and to be expected to get conflicts and non trivial merges. This basically only depends on how the different states evolved from each other.
If you use distributed SCM, there is no need to only work with one repository workspace and stream. The required history is going to be replicated even if you use a new repository workspace and stream.
1. Baselines: Specify a set of changes that make the state/content of the component
2 Stream: A set of components, Each component specifies a set of changes that make up the state/content of the component
3. Repository workspace: "Personal Stream"
If you have a stream and a repository workspace pointing at each other and you replace the baseline of a component in one of them, but not the other, it is absolutely possible and to be expected to get conflicts and non trivial merges. This basically only depends on how the different states evolved from each other.
If you use distributed SCM, there is no need to only work with one repository workspace and stream. The required history is going to be replicated even if you use a new repository workspace and stream.
Comments
One other answer
If you replace the baseline of a component with another, you change the content of said component. If you have a flow set up between a stream and a workspace and do the replace in any one of them, you can create the situation that the same files have been changed concurrently and you can also create any other kind of non trivial merge conflicts.
What kinds of conflicts you get basically only depends on the difference of the changes that have been done to the component in the baselines. Lets say you developed for a bug fix version of your software on stream 1 and do some changes to the file A in component compA. You create a baseline BL1A. In a different stream S2 you have a repository workspace RW2 and develop changing the file A in component compA as well. Same line as above. You create baseline BL2A. Now you replace the baseline BL2A in component compA with BL1A. You get a non trivial conflict between stream and workspace. This is regarless of where you replace the baseline, in the stream S2 or the workspace RW2.
This is not a tool issue as far as I can say.
What kinds of conflicts you get basically only depends on the difference of the changes that have been done to the component in the baselines. Lets say you developed for a bug fix version of your software on stream 1 and do some changes to the file A in component compA. You create a baseline BL1A. In a different stream S2 you have a repository workspace RW2 and develop changing the file A in component compA as well. Same line as above. You create baseline BL2A. Now you replace the baseline BL2A in component compA with BL1A. You get a non trivial conflict between stream and workspace. This is regarless of where you replace the baseline, in the stream S2 or the workspace RW2.
This is not a tool issue as far as I can say.