На этой странице обсуждаются конфликты редактирования и как с ними бороться. Чтобы понять, что такое конфликт редактирования, рассмотрим следующую ситуацию:
В верхней части страницы конфликта редактирования находится поле редактирования, содержащее версию Боба всей страницы, даже если Алиса редактирует раздел.
Внизу страницы конфликта редактирования находится второе поле редактирования, содержащее текст, который Элис собиралась отправить. Это будет версия Элис страницы или раздела, который она редактировала.
Между двумя полями редактирования находится diff , показывающий разницу между версиями статьи Боба и Алисы. Для раздела, который редактирует Алиса, он показывает изменения Алисы и возможные изменения Боба, за исключением разделов, где Алиса и Боб оба внесли одинаковые изменения. Для других разделов он показывает полный новый текст, как будто весь этот текст был добавлен.
Алиса может редактировать в верхнем поле редактирования и нажать Опубликовать изменения. В случае, если Алиса редактировала только раздел, это будет интерпретировано как новая версия раздела, следовательно, будут дублироваться другие разделы, если только Алиса не удалит их перед сохранением. (Похоже, это ошибка.) Лучшим решением в этом случае будет сохранить новый текст вне Википедии (например, в буфер обмена ), отменить и повторить попытку.
В определенные моменты, когда нажимаешь Опубликовать изменения, а система работает медленно, можно сделать несколько правок на одной и той же странице, прежде чем система ответит. Это приводит к конфликту редактирования с самим собой. В этом случае верхний текст может быть старой версией, а не той, которая включала первое изменение, т. е. система замечает более раннее изменение, но еще не обработала его. Мгновение спустя, пока кто-то просматривает страницу конфликта редактирования, первое изменение выполняется в фоновом режиме, и верхний текст больше не является текущим. Таким образом, diff показывает объединенное редактирование, а в случае редактирования раздела, как и раньше, «добавление» других разделов. Если вы решите опубликовать свою работу в этом типе конфликта редактирования, это приведет к удалению вашего предыдущего редактирования со страницы.
Если Алиса внесла только небольшие изменения, а Боб внес большие изменения, она может решить работать с версией Боба и повторно объединить свои изменения. Алиса может добавить текст, например «через конфликт редактирования», в сводку редактирования или использовать шаблон {{ edit conflict }} на странице обсуждения/обсуждения, чтобы предупредить Боба и других о том, что ей пришлось это сделать, — затем Боб может проверить точность ее слияния.
Если Алиса внесла большие изменения, а Боб — небольшие, Алиса может выбрать работу со своей версией. Один из вариантов — Алиса может скопировать нижний текст в верхний текст (или просто скопировать одну часть верхнего текста, если Алиса редактировала раздел), с соответствующим резюме правок (например, «через конфликт правок, будет повторно объединен»). Затем Алиса может просмотреть историю страницы, определить изменения Боба и повторно применить их к своей версии в отдельной правке.
Если и Алиса, и Боб внесли большие изменения, ситуация усложняется, и Алисе и Бобу просто нужно сделать все, что они могут. Например, если и Алиса, и Боб одновременно добавляют большой раздел текста на одну и ту же тему, то, возможно, лучше всего, чтобы Алиса отправила свои изменения, а затем Алисе и Бобу следует вместе просмотреть обе версии и решить между собой, какая из них лучше.
Алиса не должна просто публиковать свои изменения поверх изменений Боба. Мы предполагаем добросовестность — ошибки иногда случаются, и новички могут не понимать окно конфликта редактирования. Однако Алиса не должна постоянно игнорировать конфликты редактирования. Совершенно неприемлемо, чтобы Алиса перезаписывала Боба из лени. Мы призываем участников дважды проверять свои слияния, используя функцию diff .
(Это конфликт между редакторами, который не обнаруживается механизмом, решающим, следует ли выдавать сообщение о «конфликте редактирования».)
Некоторые люди редактируют, копируя исходный текст в текстовый редактор, внося множество изменений (реорганизуя, добавляя новый контент и т. д.), а затем, когда они закончат, вставляют все это обратно в Википедию как одну (новую) правку. Если кто-то другой внес изменения в то же время, эти изменения будут потеряны при вставке обратно. Люди, которые редактируют таким образом, должны либо:
Второй метод не является надежным, поскольку другой редактор может сохранить изменения в интервале времени между извлечением истории страницы и окончательной вставкой обратно. Это можно обнаружить, повторно проверив историю страницы впоследствии.
Если стороннее программное обеспечение, помогающее пользователю редактировать страницу во внешнем редакторе, не соответствует первому пункту выше (или эквивалентной мере, если таковая имеется, для метода, используемого для доступа к Википедии) и вызывает логический конфликт редактирования, то это программная ошибка , о которой следует сообщить разработчикам используемого стороннего программного обеспечения.
Иногда в процессе слияния будут допущены ошибки, поскольку Алиса — человек, и это может привести к тому, что некоторые изменения Боба будут случайно отменены. Логические конфликты редактирования не всегда видны сразу. Иногда у Алисы могут быть веские причины полагать, что улучшения Боба бесполезны. В этом случае ожидается, что Боб и Алиса разрешат свои разногласия мирным путем.
Если Боб сделал небольшое изменение, которое Алиса случайно заменила, Боб не должен возвращаться к своей версии. Совершенно неприемлемо, чтобы Боб отменял крупные улучшения Алисы на странице из желания защитить свои мелкие улучшения или наказать Алису за ее небрежность. Это особенно важно, если страница впоследствии была отредактирована другими редакторами.
Лучшим подходом для Боба в этой ситуации будет отредактировать версию Алисы, восстановить свои незначительные улучшения и оставить нетронутыми основные улучшения Алисы. Он также может добавить что-то в резюме редактирования, чтобы указать, что ему пришлось это сделать, например: «Восстановление ссылки, которую Алиса случайно удалила». Затем Алиса должна извиниться перед Бобом за свою ошибку и поблагодарить его за сохранение ее улучшений.
Если Алиса повторит свою ошибку, то лучшим подходом для Боба будет дружеское слово на ее странице обсуждения, указать ей на эту страницу и спросить ее, может ли она быть немного более осторожной в будущем. Это особенно важно для новичков, которые могут не понимать правильного способа разрешения конфликтов редактирования, хотя даже опытным пользователям может потребоваться случайное дружеское напоминание .
При сохранении предыдущей версии (т. е. при откате) или новой версии, основанной на ней (измененный откат), система предупреждения и предотвращения конфликта редактирования не срабатывает, а возможное новое редактирование, сделанное в то же время, также непреднамеренно откатывается, см. Откат страницы к более ранней версии . Чтобы избежать этой проблемы, можно скопировать текст из поля редактирования старой версии в поле редактирования последней версии. В некотором смысле, это может вызвать скрытые конфликты редактирования : вы можете перезаписать чужие изменения, не осознавая этого. Всегда разумно проверять разницу после выполнения отката, так же, как вы это делаете после публикации через конфликт редактирования. Предпочтительно, можно просто попытаться избежать войн возвратов.
Конфликты редактирования раздражают и могут отнимать много времени, но есть способы сделать их менее частыми или облегчить их устранение.
Частое сохранение работы снижает риск возникновения конфликтов редактирования, а если они все же возникнут, их будет легче разрешить.
Когда это практично, редактируйте одну область статьи за раз. Это уменьшает конфликты редактирования, поскольку система может справиться, если разные редакторы редактируют разные области одновременно. И редактор исходного кода, и визуальный редактор используют слияние конфликтов редактирования в стиле CVS , основанное на утилите diff3 . Эта функция вызывает конфликт редактирования только в том случае, если пользователи пытаются редактировать одни и те же несколько строк. Обнаружение конфликтов редактирования осуществляется по строке/абзацу.
Создавайте новые статьи в песочницах и перемещайте их в основное пространство только тогда, когда вы готовы прекратить их редактирование примерно на час и вместо этого посмотреть, что с ними сделают другие.
Википедия имеет уведомление "Используется" в своем пространстве имен Шаблон , которое люди могут использовать при редактировании страницы в течение длительного периода времени. Это может отпугнуть других редакторов от редактирования, пока вы редактируете. Просто поместите {{ inuse }} на статью, прежде чем приступить к крупному редактированию, и удалите шаблон, когда редактирование будет завершено.