Розділ 5. Запитання і відповіді

Можливо, цей документ було оновлено з часу, коли ви встановили програму. Останню версію цього документа ви можете знайти за адресою https://docs.kde.org/.

5.1. Чому програму названо «KDiff3»?
5.2. Чому автор випустив програму з ліцензією GPL?
5.3. Немає деяких кнопок і функцій. Що сталося?
5.4. Часто рядки, які є подібними, але не однаковими, програма показує поряд один з одним, але іноді вона цього не робить. Чому?
5.5. Чому слід розв'язати всі конфлікти, перш ніж програма зможе зберегти результат об'єднання?
5.6. Як мені синхронізувати перегляди відмінностей і об'єднання так, щоб у всіх переглядах було показано один фрагмент тексту?
5.7. Чому команда git difftool --dir-diff повідомляє про помилку щодо суміші посилань і звичайний файлів, якщо використовувати KDiff3 як інструмент для роботи з відмінностями?
5.8. Чому у редакторі вікна об'єднання результатів не передбачено можливості скасування дій?
5.9. Після вилучення певного фрагмента тексту несподівано з'явився напис «<Немає рядка джерела>», який неможливо вилучити. Що це означає і як мені вилучити напис?
5.10. Чому у KDiff3 не підтримується підсвічування синтаксичних конструкцій?
5.11. Чи можна скористатися KDiff3 для порівння файлів LibreOffice/OpenOffice.org®, Microsoft® Word, Microsoft® Excel, PDF тощо?
5.12. Куди подівся варіант показу тек Показати лише відмінності?
5.13. Як вибрати значний фрагмент даних у вікні вхідних даних відмінностей, адже гортання триває занадто довго?
5.14. Тут досить багато відомостей, але немає відповіді на моє питання.

5.1.

Чому програму названо «KDiff3»?

Вже існували інструменти з назвами KDiff і KDiff2 (тепер називається Kompare). Крім того, KDiff3 має означати, що програма може виконувати об'єднання подібно до інструменту diff3 зі збірки інструментів Diff.

5.2.

Чому автор випустив програму з ліцензією GPL?

Автор почав користуватися GPL-програмами дуже давно і багато чому навчився, вивчаючи вихідні коди інших програм. Отже, він хотів би сказати «Дякую!» всім програмістам, які самі пишуть програми під цією ліцензією або мають намір їх написати.

5.3.

Немає деяких кнопок і функцій. Що сталося?

Ви зібрали програму з початкових кодів, але, ймовірно, не вказали належного префікса для встановлення. За типових умов програму буде встановлено до /usr/local, але після цього система не зможе знайти файл ресурсів інтерфейсу користувача (тобто kdiff3ui.rc). Докладніші відомості щодо правильного префікса наведено у файлі README.

5.4.

Часто рядки, які є подібними, але не однаковими, програма показує поряд один з одним, але іноді вона цього не робить. Чому?

Спочатку, рядки, які відрізняються лише кількістю пробілів, вважатимуться «рівними», якщо ж у рядку буде знайдено хоча б один відмінний непробільний символ, вони вважатимуться «різними». Якщо однакові рядки розташовано поруч один з одним, насправді це випадковість, але, на щастя, ця випадковість трапляється досить часто. Див/ також довідку з порівняння вручну.

5.5.

Чому слід розв'язати всі конфлікти, перш ніж програма зможе зберегти результат об'єднання?

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

5.6.

Як мені синхронізувати перегляди відмінностей і об'єднання так, щоб у всіх переглядах було показано один фрагмент тексту?

Натисніть стовпчик резюме, розташований ліворуч від тексту. (Див. також тут.)

5.7.

Чому команда git difftool --dir-diff повідомляє про помилку щодо суміші посилань і звичайний файлів, якщо використовувати KDiff3 як інструмент для роботи з відмінностями?

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

5.8.

Чому у редакторі вікна об'єднання результатів не передбачено можливості скасування дій?

А навіщо? Ви завжди можете відновити версію з одного з джерел (A, B або C) натисканням відповідної кнопки. Крім того, для значного редагування файлів краще скористатися спеціалізованим редактором.

5.9.

Після вилучення певного фрагмента тексту несподівано з'явився напис «<Немає рядка джерела>», який неможливо вилучити. Що це означає і як мені вилучити напис?

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

5.10.

Чому у KDiff3 не підтримується підсвічування синтаксичних конструкцій?

KDiff3 вже використовує значну кількість кольорів для підсвічування відмінностей. Додаткове підсвічування лише заплутає перегляд. Для такого підсвічування скористайтеся іншим редактором.

5.11.

Чи можна скористатися KDiff3 для порівння файлів LibreOffice/OpenOffice.org®, Microsoft® Word, Microsoft® Excel, PDF тощо?

Хоча KDiff3 може аналізувати файли будь-яких типів, у таких випадках результат буде не зовсім тим, на який ви очікували.

KDiff3 було створено для порівняння суто текстових файлів. LibreOffice/OpenOffice.org®, Microsoft® Word, Microsoft® Excel тощо зберігають у файлах багато даних щодо шрифтів, зображень, сторінок, кольорів тощо, про які KDiff3 нічого не відомо. Отже KDiff3 покаже вам вміст відповідного файл так, наче це простий текст, але у такому випадку текст може стати непридатними для читання або, принаймні, виглядатиме досить дивно.

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

Найкращим розв'язанням цієї проблеми, якщо ви бажаєте порівняти лише текст (без вбудованих об'єктів, на зразок зображень), буде таке: скористайтеся пунктами Вибрати все і Копіювати меню відповідної програми, щоб скопіювати весь потрібний текст до буфера обміну даними, а потім вставте у KDiff3 відповідний текст до будь-якої з областей порівняння (див. також Вибір, копіювання і вставка.)

5.12.

Куди подівся варіант показу тек Показати лише відмінності?

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

5.13.

Як вибрати значний фрагмент даних у вікні вхідних даних відмінностей, адже гортання триває занадто довго?

Розпочніть вибір у звичайний спосіб (натисніть і утримуйте ліву кнопку миші). Після цього скористайтеся навігаційними клавішами (тобто клавішами на зразок PgUp, PgDn), одночасно утримуючи натиснутою ліву кнопку миші. (Див. також Вибір, копіювання і вставка.)

5.14.

Тут досить багато відомостей, але немає відповіді на моє питання.

Будь ласка, надішліть ваше питання автору. Він цінує кожен коментар користувача.