Візуальні дані щодо об'єднання тек

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

Після завершення сканування тек KDiff3 покаже панель з результатами ліворуч...

... і подробиці щодо поточного вибраного елемента праворуч:

Стовпчик назви

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

Типово, теки буде згорнуто. Розгортати або згортати теки можна натисканням кнопки «+»/«-», подвійним на позначці теки або за допомогою натискання клавіш зі стрілочками ліворуч і праворуч на клавіатурі. Крім того, у меню Тека міститься два пункти, Згорнути всі підтеки і Розгорнути всі підтеки, за допомогою яких ви можете згортати або розгортати всі теки одразу.

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

Зображення у стовпчику назви відповідатиме типу файла у першій теці (A). Можливі такі варіанти:

  • Звичайний файл

  • Звичайна тека (зображення теки)

  • Посилання на файл (зображення файла з стрілочкою посилання)

  • Посилання на теку (зображення теки зі стрілочкою посилання)

Якщо типи файлів у теках відрізнятимуться, ви зможете помітити це за стовпчиками A/B/C, а також за вікном докладними відомостями щодо вибраного пункту. Зауважте, що у таких випадках вибір автоматичного об'єднання неможливий. Якщо користувач викличе дію з об'єднання, його буде попереджено про проблеми з типом файлів.

Стовпчики A/B/C і схема кольорів

Як можна бачити на наведеному вище зображенні для стовпчиків A/B/C використовуються червоний, зелений, жовтий і чорний кольори.

  • Чорний: елемента не існує у цій теці.

  • Зелений: найновіший елемент.

  • Жовтий: старіший за зелений, новіший за червоний.

  • Червоний: найстаріший елемент.

Але елементи, які є однаковими у всіх теках колір теж буде однаковим, хоча їх вік і відрізнятиметься.

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

Ідею подібного розфарбування запозичено з програми dirdiff. Кольори відповідають кольорам листя: воно зелене, коли тільки-но з'являється на деревах, пізніше перетворюється на жовте, а згодом на червоне.

Стовпчик дій

Після порівняння тек KDiff3 намагається визначитися пропозиціями щодо дії з об'єднання. Ці пропозиції буде показано у стовпчику Дія. Ви можете змінити дію натисканням позначки дії, яку ви бажаєте змінити. Програма відкриє невеличке меню, за допомогою якого ви зможете вибрати дію для відповідного пункту. Крім того, ви можете вибрати одну з найпоширеніших дій за допомогою клавіатури. Натискання комбінацій клавіш Ctrl+1/2/3/4/Del призведе до вибору дій A/B/C/Об'єднати/Вилучити, відповідно. Вибрану вами дію буде виконано під час об'єднання. Перелік можливих дій і режим об'єднання залежатиме від вибраного пункту. Можливі такі режими об'єднання:

  • Об'єднання трьох тек (A вважається старішою базою для двох інших).

  • Об'єднання двох тек.

  • Режим синхронізації двох тек (активується за допомогою пункту Синхронізувати теки).

Під час виконання об'єднання трьох тек логіка програми виглядає так: Якщо елемент...

  • ...всі три теки містять однакові файли: копіювання з C

  • ... A і C є однаковими, B відрізняється: копіювати з B (або, якщо B не існує, вилучити файли з A і С)

  • ... A і B є однаковими, C відрізняється: копіювати з C (або, якщо C не існує, вилучити файли з A і B)

  • ... B і C є однаковими, A відрізняється: копіювати з C (або, якщо C не існує, вилучити файли з A)

  • ...існує лише A: вилучення призначення (якщо воно існує)

  • ... існує лише у B: копіювати з B

  • ... існує лише у C: копіювати з C

  • ... A, B і C є різними: об'єднати

  • ... файли у A, B і C належать до різних типів (наприклад у A — це тека, у B — файл): «Помилка: Конфлікти типів файлів». Хоча відповідні елементи і існують, об'єднання тек розпочати неможливо.

Під час виконання об'єднання двох тек логіка програми виглядає так: Якщо елемент...

  • ... є однаковим у обох теках: копіювати з B

  • ... існує у A, але не існує у B: копіювати з A

  • ... існує у B, але не існує A: копіювати з B

  • ... елемент існує у A і B, але він є різним: об'єднати

  • ... файли у A і B належать до різних типів (наприклад у A це тека, у B — файл): «Помилка: Конфлікти типів файлів». Хоча відповідні елементи і існують об'єднання тек розпочати неможливо.

Режим синхронізації буде задіяно, лише якщо виконується порівняння двох тек, а призначення не вказано явним чином, і якщо позначено пункт Синхронізувати теки. У такому разі KDiff3 обере типову дію, після виконання якої обидві теки будуть однаковими. Якщо...

  • ...обидві теки містять однакові файли: ніяких дій виконано не буде.

  • ...існує A, але не існує B: копіювання A до B

  • ...існує B, але не існує A: копіювання B до A

  • ...існують A і B, але вони не збігаються: об'єднання зі збереженням даних результату у обох теках. (Для користувача видимим файлом, куди буде збережено дані буде B, але після зберігання KDiff3 скопіює B до A.)

  • ... файли у A і B належать до різних типів (наприклад у A це тека, у B — файл): «Помилка: Конфлікти типів файлів». Хоча відповідні елементи і існують об'єднання тек розпочати неможливо.

Якщо виконується об'єднання двох тек і позначено пункт Копіювати новіший, замість об'єднання, KDiff3 виконуватиме визначення дат зміни файлів і пропонуватиме вибрати новіший файл. Якщо файли мають різний вміст, але однакову дату зміни, дія міститиме напис «Помилка: Дати однакові, а файли відрізняються». У такому разі, хоча елементи існують, неможливо розпочати об'єднання тек.

Стовпчик стану

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

Стовпчики статистики

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

Вибір файлів зі списку

Переліком файлів, показаних у цьому списку, керує декілька параметрів. Доступ до деяких з них можна отримати за допомогою діалогового вікна параметрів. У меню Тека містяться такі пункти:

  • Показувати однакові файли: показати файли, які програма визначила як однакові у всіх початкових теках.

  • Показувати різні файли: показати файли, які існують у декількох теках, але не є однаковими.

  • Показувати файли лише у A: показати файли, які існують лише у A, і яких немає у B і C.

  • Показувати файли лише у B: показати файли, які існують лише у B, і яких немає у A і C.

  • Показувати файли лише у C: показати файли, які існують лише у C, і яких немає у A і B.

Позначте пункти Показувати лише для тих елементів, які ви бажаєте бачити у списку. Якщо, наприклад, ви бажаєте бачити у списку лише ті елементи, які існують або у A, або у B, але не у обох теках, вам слід позначити пункти Показувати файли лише у A і Показувати файли лише у B і зняти позначки з усіх інших пунктів (Показувати однакові файли, Показувати різні файли, Показувати файли лише у C). Після внесення змін список буде негайно оновлено відповідним чином.

Ці параметри буде також використано і для тек, за одним винятком: зняття позначки з пункту Показувати різні файли не призведе до приховування жодної з тек. Цей параметр призначено лише для файлів у цих теках.

Зауважте, що серед усіх цих параметрів програма зберігатиме значення лише параметра Показувати однакові файли. Інші пункти буде знову позначено після наступного запуску KDiff3.