Різниці і об’єднання

Під час порівняння ігнорувати бінарні дані

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

Порівняння у дереві модифікацій є рекурсивним

Якщо позначено, різниці, створені з панелі перегляду дерева модифікацій, визначатимуться рекурсивно, як і у інших випадках. Якщо ж пункт не буде позначено, різниця визначатиметься лише для змін на тому ж рівні, що і позначений елемент. Спосіб визначення різниць залежатиме від вибраного вами інструмента (вбудованого засобу subversion чи зовнішніх інструментів перегляду).

Під час порівняння ігнорувати відмінності у пробілах

Ігнорувати зміни у кількості пробілів (параметр -b програми diff)

Під час порівняння ігнорувати усі пробільні символи

Ігнорувати усі пробільні символи (параметр -w команди diff)

Використовувати зовнішню програму для об’єднання

Позначте, якщо для об’єднання варто надавати перевагу зовнішній програмі, а не засобам Subversion

Use Git diff format

Показувати копіювання як додавання

Використовувати зовнішню програму для показу різниць

Визначити зовнішню програму для показу різниць. Типовою є Kompare.

Зовнішня програма для показу різниць

Визначає, у який спосіб kdesvn має показувати різницю у зовнішній програмі і яку програму буде використано. Передбачено три способи:

<програма> <параметр>

Різницю буде створено за допомогою внутрішніх засобів subversion і виведено безпосередньо до вхідного каналу даних зовнішньої програми (тобто не буде створено жодних тимчасових файлів).

<програма> <параметр> %f

Різницю буде визначено засобами subversion, збережено до тимчасового файла, а параметр %f у команді буде замінено назвою цього тимчасового файла. Цим способом можна скористатися, наприклад, для простого виклику less або програми для перегляду текстових файлів.

<програма> <параметр> %1 %2

kdesvn створить різницю за допомогою зовнішньої програми. %1 і %2 буде замінено відповідними значеннями (назвами файлів або тек). kdesvn зберігає дані для порівняння у тимчасовому середовищі (якщо це теки, програма виконує експортування, якщо окремий файл — отримання даних), якщо це потрібно, і вилучає тимчасові дані після закриття зовнішньої програми або завершення роботи kdesvn.

Використовувати зовнішню програму для об’єднання

Визначає, чи буде типово позначено у діалоговому вікні об’єднання пункт Використовувати зовнішнє об’єднання.

Зовнішня програма для об’єднання

Пункт налаштовування програми і параметрів для випадків, коли використання вбудованих інструментів subversion є небажаним. Типовою командою є kdiff3 %s1 %s2 %t. Порядок змінних-замінників не є важливим, їх можна використовувати декілька разів, наприклад так: kdiff3 -o %t %s1 %s2 %t. Концепцію використання зовнішньої програми було перевірено лише для meld і KDiff3. Пам’ятайте, що зовнішні програми нічого не знають про параметр ігнорування елементів у subversion, отже можуть показати деякі додаткові дані щодо змін.

Заміна змінних у параметрах зовнішньої програми для об’єднання

%s1

Замінюється на назву першого файла-джерела.

%s2

Замінюється на назву джерела 2. Якщо вказано порожнє значення або назву, яка збігається з назвою джерела 1, а початкова і кінцева модифікації збігаються, цю змінну буде пропущено. Отже, будьте обережні з визначенням командних рядків, подібних до такого: xxdiff --title1 %s1 --title2 %s2 %s1 %s2 %t.

%t

Замінюється на назву файла результатів.

Програма для розв’язування конфліктів

Для розв’язування конфліктів ви можете скористатися зовнішньою програмою, наприклад KDiff3. Типовою командою є kdiff3 %o %m %n -o %t.

Замінники для зовнішнього інструмента розв’язування конфліктів

У дужках після кожного з описів наведено приклад способу виклику файлів за допомогою subversion. Параметри зазначено для KDiff3, оскільки на час написання підручника це була єдина програма, у якій було передбачено усі параметри для належного розв’язування конфліктів.

%o або %l

Стара (локальна, ліва) версія. «Стара» означає «версія з меншим номером модифікації», тобто початкова точка для визначення конфліктних змін. (foo.cc.r2)

%m або %w

Ваша (робоча) версія фала, тобто версія з вашими змінами відносно старої версії. (foo.cc.mine)

%n або %r

Нова (віддалена, права) версія файла. Наприклад, версія, до якої було внесено зміни якимось іншим розробником. (foo.cc.r3)

%t

Назва результату, наприклад початкова назва файла. Для KDiff3 (у нашому прикладі) цією назвою буде назва файла після параметра -o. (foo.cc)