Sowdiff

Эта программа предназначена для сравнения файлов справки для SoW: отображает, что было добавлено, что удалено, что изменено в одной версии справки относительно другой.

Может пригодиться, чтобы понять, что же наворотил человек, правивший справку.

Где скачать

Вот здесь (33кб).

Использование

Запускаем, вводим имена файлов, содержащих справку, которые хотим сравнить, в поля ввода (или выбираем файлы, нажав кнопку "Открыть..."). Затем жмем большую кнопку "Сравнить!". Программа попытается прочитать оба файла. Если прочитает успешно, откроется окно с результатами сравнения.

Это окно состоит из двух частей. Слева - дерево с объектами файла справки (папками и топиками), справа - окошко, где будет отображено содержимое активного топика (активный топик - тот топик, который выделен в дереве слева).

Первый выбранный файл объявляется "старым", второй - "новым". Сравнение проводится именно в этой терминологии, то есть, например, "добавленная папка" - это такая папка, которой не было в "старом" файле, но она есть в "новом".

Все папки и топики (далее буду называть их объектами) в результате сравнения попадают в один из четырех классов:

Что значит "примерно такой объект"? Каждый объект имеет свойство, которое его привязывает к месту в дереве - это путь до объекта (какие папки надо пройти, чтобы его достичь, плюс имя самого объекта). Если в файлах есть два объекта, находящихся на одном месте в дереве (имеющих одинаковый путь), но они различаются, в этом случае считается, что они примерно совпадают, и объект объявляется измененным.

Измененная папка - такая папка, в которой есть хотя бы один элемент, классифицированный не как скопированный. Измененный топик - топик, ключевые слова либо текст которого изменился.

Если папка в целом классифицирована как удаленная (добавленная), то все ее подэлементы тоже классифицируются как удаленные (добавленные).

Если выбрать измененный топик, то в правой части окна будут отображены изменения, внесенные в него. Измененный текст разделяется на фрагменты с похожим смыслом: скопированные, удаленные, добавленные. Скопированные фрагменты отображаются черными символами, удаленные - красными зачеркнутыми, добавленные - синими подчеркнутыми.

Вверху правой части окна находятся три переключателя, с помощью которых можно изменить режим отображения изменений. По умолчанию выбран режим "Слияние" - именно в нем отображаются цветами внесенные изменения. Кроме этого можно с помощью переключателей "Исходный вариант" и "Окончательный вариант" выбрать режимы, в которых будет отображаться соответственно исходный (как в старом файле) или окончательный (как в новом) вариант топика.

Если выбрать скопированный, удаленный или добавленный топик, в правой части окна отобразится этот топик, но режим переключить не получится (нет в нем смысла).

Дисклеймер, или как там его

Конечно, доступа к коду SoW или его редактора у меня нет, так что код для чтения файла справки самый что ни на есть самопальный. Написан он для формата, который используется редактором версии 3.55. Тестировал я этот код на доступном мне материале: справке из комплекта для разработчика триггеров, а также самодельных файлах справки.

В общем, о чем это я? На самом деле самое худшее, что может случиться - что программа при попытке открыть файл справки интеллигентно пожалуется, что формат ей неизвестен (ну то есть сообщение будет детальнее, но общий смысл такой). В этом случае можно открыть этот неоткрываемый файл редактором версии 3.55 и сохранить его. Результат должен нормально открываться в sowdiff.

Вернуться к списку программ.

Hosted by uCoz