Help:Edit conflict/ru
В этой странице говорится о конфликтах редактирования, и о том, как с ними справляться. Чтобы понять, что это такое, рассмотрите следующую ситуацию.
- Иванов нажимает кнопку «Править» на странице.
- Петров нажимает эту же кнопку на этой же странице, когда Иванов уже редактирует.
- Иванов заканчивает свои правки и нажимает «Записать страницу». Страница сохраняется с версией Иванова, при этом Петров ещё не закончил редактировать.
- Петров заканчивает свои правки и после нажатия кнопки «Записать страницу» получает сообщение о конфликте редактирования.
Схема страницы конфликта редактирования
editВ верхней части страницы конфликта редактирования находится поле редактирования с кодом версии страницы, записанной Ивановом (выводится весь код, даже если Петров редактировал лишь раздел).
В нижней части страницы располагается нередактируемое поле с кодом версии страницы или раздела, которую пытался записать Петров.
Между этими полями располагается таблица сравнения версий Иванова и Петрова. Для раздела, который редактирует Петров, она отображает изменения Петрова и возможные изменения Иванова, за исключением разделов, где Петров и Иванов оба сделали одно и то же изменение. Для других разделов, таблица отображает весь новый текст, как если бы он был добавлен.
Петров может редактировать в верхнем поле редактирования и нажать кнопку «Записать страницу». Если Петров редактировал лишь раздел, то это будет принято как новая версия раздела, в результате чего получится повторение других разделов, если Петров не удалил их до сохранения. (Это может быть ошибкой.) В этом случае лучшим решением для Петрова является сохранение его нового текста, например в буфер обмена, закрыть окно конфликта, и затем отредактировать страницу снова.
Иногда, при нажатии кнопки «Записать страницу», когда система медленная, возможно сделать несколько правок одной и той же страницы до того, как система ответит. Это приводит к конфликту редактирования с самим собой. В этом случае, верхний текст может быть старой версии вместо версии, касающейся первой правки, т. е. система заметила раннюю правку, но её ещё не обработала. Через мгновение, во время просмотра страницы конфликта редактирования, первое изменение фоново обрабатывается, и верхний текст перестаёт быть текущим. Следовательно, в сравнении правок показана смешанная правка, и в случае правки раздела, как сказано выше, «добавление» других разделов. Если вы решите сохранить вашу работу во время такого конфликта редактирования, это приведёт к откату того, что вы раньше изменили на странице.
Разрешение конфликта редактирования
editЕсли Петров сделал небольшие изменения, а Иванов — большие, то Петров может решить работать с версией Иванова и внести туда свои изменения. Петров может также написать в описании правки что-то вроде «через конфликт редактирования», или использовать шаблон {{Edit conflict}} (имя может различаться) в странице обсуждения, чтобы предупредить Иванова и других, что ему пришлось это сделать — и Иванов может потом провести партнёрскую оценку (англ.) аккуратности правок Петрова.
Если Петров сделал большие изменения, а Иванов — небольшие, то Петров может решить работать со свей версией. Один из путей решения — скопировать нижний текст в верхний (или просто скопировать поверх одного раздела в верхнем тексте, если Петров делал правку в разделе), с подходящим описанием правки (например, «через конфликт редактирования, будет переобъединение»). Затем Петров может проверить историю страницы, определить правки Иванова, и внести их в свою версию в качестве отдельной правки.
Если Иванов и Петров сделали примерно одинаковые по размеру изменения, то ситуация усложняется, и оба просто должны сделать лучшее, что они могут. Например, если Иванов и Петров одновременно добавляют большой раздел текста на одну и ту же тему, то лучше, чтобы Петров записал бы свои правки, и затем, чтобы Иванов и Петров проверили бы обе версии и решили бы, какая версия лучше.
Петров не должен просто записывать свои правки поверх версии Иванова. Мы предлагаем добрые намерения — ошибки иногда совершаются, и новички могут не понять страницу конфликта редактирования. Однако, Петров не должен систематически игнорировать конфликты игнорирования. Недопустимо, чтобы Петров записал правки поверх версии Иванова из-за лени. Мы рекомендуем участникам тщательно проверять свои объединения с помощью интерфейса сравнения правок.
Логические конфликты редактирования
edit(Это конфликт между участниками, который не обрабатывается механизмом, который выбирает, показывать ли сообщение о конфликте редактирования или нет.)
Некоторые участники редактируют, копируя исходный текст в текстовый редактор, выполняя много изменений (переорганизация, добавление нового содержимого и т. д.), и, по окончании, сохраняя всё на вики одной (новой) правкой. Если кто-то ещё во время этого сделал правки, они могут быть потеряны. Люди, редактирующие в такой манере, должны:
- либо вставлять только в то окно редактирования, откуда текст был ранее скопирован;
- либо проверять историю страницы, выявлять новые правки, и объединять свою правку с ними, прежде чем сохранять.
Ошибки
editИногда при объединении могут быть совершены ошибки, ведь Петров — человек, и это может привести к тому, что некоторые изменения Иванова могут быть нечаянно отменены. Логические конфликты редактирования не всегда сразу заметны. Возможно, Петров имеет веские доводы считать, что улучшения Иванова не полезны. В этих случаях Иванов и Петров должны по-дружески разобраться в различиях.
Если Иванов сделал небольшую правку, которую случайно отменил Петров, то Иванов не должен откатывать страницу к своей версию. Недопустимо, чтобы Иванов откатывал крупные улучшения Петрова, чтобы утвердить свои мелкие улучшения, или чтобы наказать Петрова за его неаккуратность. Это особенно важно, если страница была позже отредактирована, скажем, Сидоровым или Мироновой.
Лучшее, что может сделать Иванов — отредактировать версию Петрова и вернуть мелкомасштабные изменения, оставив при этом крупные правки Петрова в покое. Иванов также может добавить уточнение в описании изменения о том, что он должен был это сделать — например, «Восстановление ссылки, случайно удалённой Петровым». Петров затем должен извиниться перед Ивановым, а заодно поблагодарить за восстановление своих изменений.
Если Петров снова повторил свою ошибку, то Иванову лучше всего по-дружески напомнить на его странице сообщения, указав на эту страницу и попросив его быть более аккуратным. Это особенно важно для новичков, которые могут и не понимать, как правильно разрешать конфликты редактирования, но и опытным участникам может иногда понадобиться дружеское напоминание.
Отмена правок
editКогда вы сохраняете предыдущую версию (например, при отмене правок), или новую версию на её основе (отмена с изменениями), то система предупреждения и предотвращения конфликтов редактирования не включается, и возможная новая правка, сделанная в это время, также может быть нечаянно отменена; см. Откат страницы к ранней версии. Чтобы избежать эту проблему, можно копировать текст с окна редактирования старой версии в окно редактирования последней версии страницы. В некотором смысле, это может привести к скрытым конфликтам редактирования: вы можете перезаписать чьи-то правки, не подозревая об этом. Всегда не помешает просмотреть различие версий после отмены правки, как следует после редактирования через конфликт редактирования. Предпочтительно просто избегать войн правок.
Устранение
editПоскольку конфликты редактирования могут раздражать и занимать много времени, вы можете изменить свои привычки редактирования, чтобы уменьшить частоту конфликтов — предпочитая делать больше правок на тех страницах, которые не редактировались в недавнем прошлом.
Другой способ избегания конфликтов редактирования — записывать сразу одну большую правку вместо частых небольших: это приведёт к большему для вас, но и меньшему для других шансу появления конфликта редактирования. Полезна здесь кнопка предварительного просмотра.
Чтобы уменьшить шанс конфликтов редактирования, на некоторых вики-проектах (в том числе этом, а также Википедии) имеется напоминание «Идёт редактирование» в своих пространствах шаблонов, которое может использоваться, если страница редактируется длительное время. Просто разместите {{inuse}} на статье перед началом больших изменений, а по завершении уберите шаблон.on
Начиная с v1.3 применяется разрешение конфликтов редактирования в стиле CVS на основе утилиты diff3. Это приведёт к конфликту редактирования лишь в том случае, если участники попытаются отредактировать одни и те же строки. См. также автоматическое объединение (англ.)