Locking a file is designed to prevent conflicts—if only one person is working on a file, then nothing unexpected can happen.
However, file locking isn't used every time someone wants to work on a file. It doesn't make sense to restrict editing of source code or plain text files in cases where most edits are on unrelated areas of a file, and are unlikely to conflict with each other.
That said, sometimes conflicts do happen, and when they do, you need to be able to resolve them.
This chapter will describe the three main types of file conflict. Conflicts can also arise with branches, and this subject will be discussed in Chapter 5, Branching and Merging.
The most common file conflict is:
Local edit/incoming edit
While the most common tree conflicts are:
Local edit, incoming delete on update
Local delete, incoming edit on update
Local delete, incoming delete on update