Edit conflict
From Joomla! Documentation
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.
- Alice finishes her edits and clicks "Save page". The page is saved with Alice's version.
- Bob finishes his edits and clicks "Save page". Bob gets an "edit conflict" page.
Layout of the edit conflict page[edit]
At the top is Alice's version of the whole page, even if Bob is doing section editing.
At the bottom is the text Bob was going to submit. This will be Bob's version of the page, if he edited the entire page, or Bob's version of the section he edited, if he was editing just one section.
In the middle is a diff of the two pieces of text. For the section Bob is editing it shows Bob's changes and Alice's possible changes, except for those sections changed equally by both Bob and Alice. For the other sections it shows the full new text as if all that text was added.
Bob can edit the upper text and press Save. In the case Bob was doing section editing 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 Windows Clipboard), cancel out, then try again.
When pressing Save and the system is slow, one may be able to make another edit and press Save again before the system responds. This gives 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 looking at 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.
Resolving an edit conflict[edit]
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 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 (eg "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[edit]
(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 the wiki 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.
Mistakes[edit]
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 these 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[edit]
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[edit]
Because edit conflicts are irritating and time-consuming, you may choose to alter your editing habits to render them less frequent: aiming to make more edits to pages that have not been edited recently, such as those listed on ancient pages, for example.
Another means of avoiding edit conflicts is to make a single larger change, rather than frequent smaller changes: this makes it more likely that you will get an edit conflict, but less likely that you will cause others to get an edit conflict. Using the "Show preview" button helps here.
To reduce the chance of edit conflicts, this wiki 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.
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.