Розділ 1. Вступ

Ще одна оболонка для Diff?

Існує декілька графічних інструментів для роботи з різницями (diff). Чому саме KDiff3? Давайте я, як автор, поясню, чому мною було написано цю програму.

Я почав писати KDiff3, оскільки мені доводилося виконувати складні операції з об'єднання версій. Потреба у такому об'єднанні виникає, коли декілька осіб працюють над однаковими файлами у проєкті. Процес об'єднання можна до певної міри автоматизувати, якщо інструмент об'єднання може працювати не лише з новими модифікованими файлами (які називаються «гілками»), але і з початковим файлом (який називається «базою»). Інструмент об'єднання автоматично обере всі зміни, які було внесено лише у одній гілці. Якщо декілька розробників вносять зміни до одних і тих самих рядків, інструмент об'єднання має визначити конфлікт, який слід буде розв'язати вручну.

У останньому випадку об'єднання ускладнюється тим, що один з розробників міг змінити багато рядків і виправити відступи у багатьох місцях. Інший розробник теж міг внести зміни у значну частину тексту того ж файла. Все це призводить до декількох конфліктів під час об'єднання.

Інструмент, яким я користувався раніше, показував лише змінені рядки, але не показував, які саме зміни сталися у цих рядках. Він також не міг показувати відомості щодо зміни лише відступів. Об'єднання було схоже на нічний жах.

Ось з цього я і розпочав свою роботу. Перша версія програми могла показувати різницю у символах рядків, а також різницю у пробілах. Пізніше було додано багато інших можливостей, які поширили перелік корисних можливостей програми.

Наприклад, якщо вам потрібно швидко порівняти якісь фрагменти тексту, ви можете скопіювати їх до буфера обміну інформацією і вставити до відповідних частин вікон порівняння.

Багато зусиль було покладено на реалізацію порівняння тек і можливість їх об'єднання. Втілення цієї можливості майже перетворило програму на повноцінний навігатор файлової системи.

Сподіваємось KDiff3 допоможе і вам. Нехай щастить!

Joachim Eibl (2003)