Help:Edit conflict


 * This article deals with the technical problem where several editors try to edit the same page at once, leading to a conflict the software cannot resolve automatically. For editing disagreements between editors, see TechInfoDepot:Edit warring

This page discusses edit conflicts, and how to deal with them. To understand what an edit conflict is, consider the following situation:


 * Alice clicks "Edit this page" on a page.
 * Bob clicks "Edit this page" on the same page, while Alice is editing.
 * Alice finishes her edits and clicks "Save page". The page is saved with Alice's version while Bob is still editing.
 * Bob finishes his edits and clicks "Save page". Bob gets an "edit conflict" page, because the software can't automatically reconcile the differences between Alice's and Bob's versions of the page. The edit conflict page gives Bob a chance to reconcile the differences manually.

Layout of the edit conflict page
At the top of the edit conflict page is an editing box containing Alice's version of the whole page, even if Bob is doing section editing.

At the bottom of the edit conflict page is a second editing box containing the text Bob was going to submit. This will be Bob's version of the page or section he was editing.

Between the two editing boxes is a diff that shows the difference between Alice's and Bob's version of the article. For the section Bob is editing it shows Bob's changes and Alice's possible changes, except for sections where Bob and Alice have both made the same change. For the other sections it shows the full new text as if all that text was added.

Bob can edit in the upper editing box and press Save. In the case Bob was editing only a section, this will be interpreted as the new version of the section, hence produce duplication of the other sections, unless Bob deletes them before saving. (This seems to be a bug.) The best solution in this case is to save your new text (e.g., to the clipboard), cancel out, then try again.

At certain times when pressing Save and the system is slow, one may be able to make multiple edits to the same page before the system responds. This produces an edit conflict with oneself. In this case the upper text may be the old version instead of the one involving the first edit, i.e., the system notices the earlier change but has not processed it yet. A moment later, while one is viewing the edit conflict page, the first change is carried out in the background, and the upper text no longer is the current one. Hence, the diff shows the combined edit, and in the case of section editing, like before, the "addition" of the other sections. If you choose to save your work in this type of edit conflict, it will result in the removal of your previous editing from the page.

Resolving an edit conflict
If Bob only made small changes, and Alice made large changes, he may choose to work from Alice's version, and re-merge his changes in. Bob might choose to add some text like "via edit conflict" to the edit summary, or use template edit conflict on a Discussion/Talk page, to warn Alice and others that he had to do this – Alice can then peer review his merging for accuracy.

If Bob made large changes, and Alice made small changes, he may choose to work from his version. One option is for Bob to copy the bottom text into the top text (or just copy over the one section of the top text, if Bob was section editing), with an appropriate edit summary (e.g., "via edit conflict, will remerge"). Then Bob can view the page history, determine Alice's changes, and re-apply them to his version, in a separate edit.

If both Alice and Bob made large changes, matters become complicated, and Alice and Bob just have to do the best they can. For example, if both Alice and Bob simultaneously add a large section of text on the same subject, then it may be best for Bob to submit his changes, and then for Alice and Bob to both have a look at the two versions and decide between themselves which version is better.

Bob should not just post his changes over the top of Alice's. We assume good faith – mistakes are occasionally made, and newcomers may not understand the edit conflict window. However, Bob must not routinely ignore edit conflicts. It is absolutely not acceptable for Bob to overwrite Alice out of laziness. We encourage contributors to double-check their merges by using the diff feature.

Logical edit conflicts
(This is a conflict between editors that is undetectable by the mechanism that decides whether to give the "edit conflict" message.)

Some people edit by copying the source text into a text editor, making lots of changes (reorganising, adding new content, etc.), and then, when they're done, pasting the whole thing back onto TechInfoDepot as a single (new) edit. If someone else has made changes in the meantime these changes would get lost in the paste back. People who edit in this manner should either:


 * paste only into the same edit box that was originally copied from, or
 * check the page history for such edits, and merge the changes before pasting back.

If third-party software that assists a user to edit a page in an external editor does not follow the first bullet point above (or the equivalent measure, if any, for the method it is using to access TechInfoDepot) and causes a logical edit conflict, then that is a software bug which should be reported to the software developers of the third-party software being used.

Mistakes
Sometimes mistakes will be made in the merging process, because Bob is human, and this may cause some of Alice's changes to be accidentally reversed. Logical edit conflicts aren't always immediately visible. Sometimes Bob may have good reasons for thinking that Alice's improvements aren't useful. In this case, Alice and Bob are expected to resolve their differences amicably.

If Alice made a small change, which Bob accidentally reversed, then Alice must not revert to her version. It is absolutely not acceptable for Alice to reverse Bob's major improvements to the page out of a desire to protect her minor improvements, or to punish Bob for his carelessness. This is particularly important if the page has subsequently been edited by, say, Sarah and Jonathan.

The best approach for Alice in this circumstance is for Alice to edit Bob's version, reinstate her minor improvements, and leave Bob's major improvements intact. She may also add something to the edit summary to indicate that she had to do this – for example: "Reinstating link which Bob accidentally removed". Bob should then apologise to Alice for his mistake, and thank her for reinstating her improvement.

If Bob repeats his error, then the best approach is for Alice to have a friendly word on his talk page, point him to this page, and ask him if he could take a little more care in the future. This is particularly important for newcomers, who may not understand the correct way to resolve edit conflicts, though even experienced users may need the occasional friendly reminder.

Reverting
When saving a previous version (i.e., when reverting) or a new version based on that (a modified reversion) the edit conflict warning and prevention system is not triggered and a possible new edit made in the meantime is unintentionally reverted also, see Reverting a page to an earlier version. To avoid this problem one can copy the text from the edit box of the old version into the edit box of the latest version. In some sense, this can cause hidden edit conflicts: you may overwrite someone else's changes without realising that you are doing so. It's always wise to check the diff after performing a revert, just as you would after posting via edit conflict. Preferably, one can simply try to avoid reversion wars.

Prevention
Because edit conflicts are irritating and time-consuming, you may choose to alter your editing habits to render them less frequent.

One of the easiest ways is to edit the smallest portion of the article necessary. If you are only going to be editing a single section in the article, then click the "Edit" link for that section, rather than the "Edit" link for the entire article. Two people can be working on different sections at the same time, and there will be no edit conflict.

New since v.1.3 is CVS-style edit conflict merging, based on the diff3 utility. This feature will only trigger an edit conflict if users attempt to edit the same few lines.

To reduce the chance of edit conflicts, TechInfoDepot also has an "In Use" notice in its Template namespace that people may use when editing a page over a long period of time. Simply put inuse on an article before proceeding with a major edit, and remove the template when the editing is complete.