Ubuntu – What are Ubuntu One conflicts and how to resolve them


Sometimes there appear files with the .conflict extension on the folders synchronized with Ubuntu One. Why does that happen and what should I do with the conflicts?

Best Answer

The conflicts occur when you start with a version X of a file on more than one computer, lets call them machine a and machine b. Then machine a edits the file making it X+a (the original version of the file plus the changes made on machine a). It takes some time for machine a to send the version X+a to the server, and some time for the server to send version X+a to machine b. So there's a window of time when machine b still has the version X (the original without the changes made on machine a). If machine b edits the file on that precise moment, it will send to the server a version X+b instead of X+a+b. In this case, the server has no way to tell which is the right version, as it is subjective depending on what the user is doing, so it will keep both versions adding a ".conflict" extension to one of them.

The Ubuntu One FAQ has information about how to resolve the conflicts here.

If your transfer rate to and from the server is slower than your edit rate on some files synchronized with U1 on more than one machine, then U1 files doesn't sound like the right tool for you. You should look for tools with conflict handling, like u1db, bzr or git.

If that's not the case but you are still getting a lot of conflicts, then you might be hitting a bug and you should report it on launchpad.

The size of that window of time when a conflict can arise depends on many things, like your bandwidth, the load of the server, and the load of the links between your internet provider and the server.