Occasionally when syncing projects, a Merge Conflict will occur. A merge conflict is when the same file or group of files has been modified by multiple users. The Portal will try its best to resolve merge conflicts without your help, but this will often require user input.
Merge conflicts often occur when a user is attempting to sync their changes to a server project that already contains a file with the same name as a file in the local version trying to be synced with different content or file sizes.
When resolving Merge Conflicts the user is presented with two options.
Overwrite Local Changes: This option will keep the file on the server rather than overwriting them with the local version. This will also overwrite the local version of the file with the server version.
Keep Local Changes: This option will overwrite the server version of the file with the local file.
Multiple assets can be resolved at once by selecting those assets using the check-boxes located next to the asset names, and choosing the option how they wish to resolve the conflict.
To better understand what leads to a merge conflict, and how to resolve it, we will consider a simple scenario. Lets say there is a project being shared between two people, John and Katie. When working together, John replaces a texture used in a lesson with an updated version. Unbeknownst to John, Katie has changed the texture as well, and has synced her new version to the online project.
In this case, When John attempts to sync, he will encounter a merge conflict. This was caused by the fact that the texture was updated by multiple people. In order to resolve the merge conflict, John and Katie must talk about the conflict and decide which version of the texture to accept, as only one can be used.
Sometimes the interface provided by the Editor is too simple to easily resolve the conflict. If this is the case, it is recommended to manually use git to resolve the conflict in whatever way is best. For more information on this, read git's documentation, or contact the Editor team.