Порівняння та синхронізація
Коли ви тримаєте дві копії однієї теки — робочу теку та резервну копію, ноутбук і мережевий ресурс, проєкт і його архів — Peach Commander допомагає побачити точно, що змінилося, і повернути обидві сторони до узгодженості. Ви можете синхронізувати два каталоги, порівнювати окремі файли рядок за рядком і перевіряти файли байт за байтом, коли вам потрібна певність аж до останнього символу.
Синхронізуйте два каталоги¶
- Відкрийте теку, яку хочете синхронізувати, в лівій панелі, а теку для порівняння з нею — у правій панелі.
- Виберіть Команди ▸ Синхронізувати каталоги…. Шляхи обох тек заповнюються з ваших панелей.
- Встановіть, наскільки ретельним має бути порівняння: включити підтеки, порівнювати за вмістом (не лише за датою та розміром), або ігнорувати дату зміни.
- Додайте маску фільтра (наприклад,
*.jpg;*.png), якщо хочете синхронізувати лише певні файли. - Перегляньте сітку результатів. Кожен рядок показує файл ліворуч, стрілку напрямку посередині та відповідний файл праворуч. Стрілки кажуть, що станеться: → копіює зліва направо, ← копіює справа наліво, а = означає, що обидва ідентичні.
- Скоригуйте окремі рядки, якщо ви не згодні з запропонованим напрямком, потім натисніть кнопку синхронізації, щоб виконати зміни.
(Малюнок: вікно Синхронізувати каталоги порівнює обидві сторони та пропонує напрямок копіювання для кожного файлу.)
Клацніть рядок правою кнопкою миші, щоб подивитися на файли за ним. Порівняти відкриває обидві сторони поруч, а Показати лівий файл і Показати правий файл відкривають одну сторону окремо в переглядачі — це відповідь для рядка, який існує лише з одного боку і де немає чого порівнювати. Пункти, які до вибраного рядка не застосовні, показані неактивними, а не бездіють. Файл усередині .zip або на сервері спершу розпаковується чи завантажується до тимчасової копії лише для читання, тож оригінал залишається недоторканим. Те саме стосується Порівняти, тож теку можна порівняти з архівом або сервером — а кнопки перенесення та збереження для такої сторони лишаються вимкненими, бо відкрита там копія.
Порівняйте два файли за вмістом¶
- Виділіть один файл у кожній панелі (або два файли в одній панелі).
- Виберіть Файл ▸ Порівняти за вмістом….
- Обидва файли відкриваються поруч із підсвіченими відмінностями. Використовуйте елементи керування наступний/попередній, щоб перескакувати між зміненими блоками.
- Якщо ви ввімкнете режим редагування, ви можете скоригувати будь-який файл напряму та зберегти зміни.
(Малюнок: порівняння двох текстових файлів; змінені рядки підсвічені з обох сторін.)
Коли між файлами немає жодних відмінностей, вікно каже про це кольоровою смугою вгорі, а не полишає вас робити висновок із таблиці, у якій нічого не виділено. Смуга з’являється й у застережливому кольорі, коли якийсь файл не вдалося прочитати взагалі, — тоді будь-який висновок про відмінності був би твердженням про порівняння, якого не було. Побайтове порівняння каже те саме з тієї самої причини: два файли, які воно не може відкрити, — це не два однакові файли.
Порівняйте файли байт за байтом¶
Коли два файли виглядають однаково, але вам потрібно довести, що вони справді ідентичні (або знайти той один байт, що відрізняється), використайте двійкове порівняння. Воно показує обидва файли у шістнадцятковому вигляді з позначеними невідповідними байтами, що ідеально для перевірки завантажень, перевірки закодованих даних чи підтвердження точної копії.
Порівняйте списки каталогів¶
Щоб помітити відмінності між двома відкритими теками з першого погляду, виберіть Виділення ▸ Порівняти каталоги (Shift+F2). Peach Commander позначає файли, які відрізняються чи відсутні на іншій стороні, тож ви можете діяти на них звичайними командами копіювання, переміщення та видалення.
Обмеження того, що входить до синхронізації¶
Поле маски містить один список включення за іменами файлів. Для того, чого ним не висловити, кнопка Фільтр… поруч відкриває аркуш із трьома вкладками. Задане там діє на наступне порівняння, а кнопка потім повідомляє, скільки критеріїв активні: фільтр, якого не видно, — це спосіб, яким резервна копія виявляється неповною, поки вікно повідомляє, що завершило.
- Виключити приймає взірці, розділені
;або|. Ім’я без похилої риски збігається на будь-якій глибині (*.tmp), похила риска в кінці означає теку з усім її вмістом (node_modules/), а взірець із похилою рискою збігається з відносним шляхом (src/*/generated). Регістр не враховується. - Розмір і дата судять пару цілком: якщо один бік виходить за межі, виключається вся пара. Так задумано. Застосоване лише до одного боку, виключення зробило б пару односторонньою і перетворилося б на копіювання в неправильному напрямку.
- За останні N днів відлічується від кожного порівняння, а не від збереження набору: збережене завдання й далі означає «останній місяць».
- Вкладка Плагіни питає плагін вмісту про той бік, з якого файл був би скопійований. Йому потрібен справжній файл, тож вона пропонується лише коли обидва боки — теки на цьому Mac.
Виключена тека не вилучається й у режимі дзеркала: дзеркало прибирає лише те, що справді порівняло. Рядок стану повідомляє, скільки записів затримав фільтр, поряд із тим, що зробить запуск. Фільтр зберігається й завантажується разом із тим набором налаштувань синхронізації, якому належить.
Тримати дві теки однаковими в обидва боки¶
Два початкові режими не розрізняють одного: файл, який є лише на одному боці, — це або новий тут, або вилучений там, і виглядає це однаково. Симетричний режим тому його копіює — вилучіть щось на ноутбуці, синхронізуйте, і воно повернеться з резервної копії, — а дзеркальний вилучає, але лише в один бік.
Двосторонньо (з пам’яттю) запам’ятовує, як обидві теки виглядали, коли збігалися останнього разу. З цим записом вилучення на одному боці можна перенести на інший.
- У першого запуску пари запису немає: він поводиться як раніше і нічого не вилучає. Він пише запис. Із другого запуску режим працює.
- Перенесене вилучення показано своїм кольором зі знаком
⇒🗑і не позначено: це єдиний рядок, який приходить із пам’яті програми. Клацання на стрілку пропонує інші відповіді: скопіювати файл назад або залишити обидва боки як є. - Змінено на одному боці й вилучено на іншому — це конфлікт, ніколи не вилучення. Так само й файл, змінений з обох боків.
- Ніщо не вилучається на підставі відсутності, яку порівняння не змогло підтвердити — нечитна тека або затримана фільтром нічого не доводить про те, що всередині неї.
- Лише дві теки на цьому Mac. Ні сервер, ні архів: вилучення в архіві переписує його, вилучення на сервері остаточне, і цей режим не той, на якому таке варто пробувати.
Вилучення не можна скасувати. На цьому Mac файл потрапляє до Смітника і його можна повернути з Finder; це вся страховка. Пам’ять… у вікні перелічує кожну пару, яку програма пам’ятає, виділяє відкриту й дозволяє забути будь-яку — після чого наступне порівняння цих тек знову поведеться як перше. Само собою ніщо не забувається: тека на відключеному диску не зникла, вона лише не підключена.
Запис лежить поруч із налаштуваннями: якщо перемістити одну з тек, пара більше не має історії — а запуск без історії нічого не вилучає.
Що зробив запуск і що з цього можна повернути¶
Кожну синхронізацію записано. Запуски… у вікні перелічують їх, починаючи з найновіших — коли, які дві теки, який режим і скільки файлів було скопійовано, вилучено або затримано — і показують, що сталося з кожним файлом обраного запуску.
Саме цей перелік робить Кошик придатним. Файл, який цей Mac вилучив, потрапив до Кошика, і запуск записав куди, що важить більше, ніж звучить: Кошик при збігу імен перейменовує, тож другий notes.txt опиняється там як notes.txt 11-17-15-028.txt, і пошук за іменем знаходить не той. Показати в Кошику наводить Finder просто на об’єкт.
Повернути на місце… переносить вилучені запуском файли з Кошика на ті шляхи, звідки їх було вилучено. Кожен спершу перевіряється, і те, що не збігається, відхиляється з причиною, а не продавлюється:
- На цьому шляху знову щось є. Воно лишається недоторканим — повернення ніколи не має права перезаписувати.
- Об’єкта більше немає в Кошику, або його вилучено остаточно, а не відправлено туди.
- Сторона була архівом або сервером. Архів переписується цілком, а сервер Кошика не має, тож нічого не збереглося.
- Тека, до якої писав запуск, зникла або це вже не та сама тека — приміром, повторно використана точка монтування. Тоді відхиляється весь запуск, а не виконується його частина.
- Це вже повернули. Запис це пам’ятає, тож друга спроба нічого не робить.
- Або сам запис такий, з яким ця версія працювати не вміє — його написала новіша версія програми, чи він називає шлях поза обома теками. Рідко, і відхиляється, а не вгадується.
Копію повернути не можна. Прибрати її означало б вилучити файл, який ви могли відтоді відредагувати, а це зворотний обмін щодо повернення вилучення, тож програма цього не пропонує — запуск каже, які файли він скопіював, і вилучити їх ви можете самі. Файл, який було перезаписано, — єдина справжня прогалина, і вона тепер невелика: на цьому Mac замінена версія йде до Кошика як вилучений файл, тож Показати в Кошику її знайде. До архіву, на сервер або на том без Кошика так не вийде, і підтвердження каже про це перед запуском.
Зберігаються останні 200 запусків або 64 МБ з них — що настане раніше; понад те найстаріші відпадають по одному, коли надходять нові, а Забути і Забути всі прибирають їх одразу. Дуже великий запуск — понад 20 000 файлів — зберігає кожну проблему і все, що він поклав до Кошика, але не копії, які пройшли, і каже про це, а не лишає вам це помітити. Його вилучення досі можна повернути: пропущено було копії, а копію однаково не вдалося б повернути.
Забування нічого не змінює в теках; зникає запис про те, що було зроблено, а з ним і пропозиція щось повернути. На відміну від двосторонньої пам’яті це викидається автоматично — втрата пам’яті про пару змінила б те, що зробить наступний запуск, тоді як втрата запису про запуск лише прибирає пропозицію.
Скорочення¶
| Дія | Скорочення |
|---|---|
| Порівняти списки каталогів (позначити різні файли) | Shift+F2 |
| Порівняти за вмістом | Файл ▸ Порівняти за вмістом… |
| Синхронізувати каталоги | Команди ▸ Синхронізувати каталоги… |
| Показати одну сторону рядка синхронізації | Права кнопка на рядку ▸ Показати лівий файл / правий файл |
Примітки¶
- За вмістом чи за датою/розміром. Швидке порівняння зіставляє файли за розміром і датою зміни, що швидко, але може бути обмануте, коли позначки часу відрізняються для ідентичних файлів. Увімкніть за вмістом для надійного результату ціною читання кожного файлу.
- Підтеки та фільтри. Вікно синхронізації може заходити в підтеки та може бути обмежене маскою фільтра, тож ви можете синхронізувати лише ті типи файлів, що вас цікавлять.
- Ви зберігаєте контроль. Синхронізація ніколи не виконується сама — ви переглядаєте запропоновані напрямки в сітці результатів і можете змінити будь-який із них, перш ніж щось буде скопійовано. Esc зупиняє порівняння, що триває, і закриває вікно, коли нічого не виконується.
- Передналаштування. Часто використовувані конфігурації синхронізації можна зберегти та повторно використати, тож вам не доведеться щоразу вводити ті самі параметри. Передналаштування запам'ятовує також те, що показує сітка результатів — фільтр напрямку та Сховати однакові — а вікно відкривається на передналаштуванні, використаному востаннє. Передналаштування Типово є від першого відкриття вікна; збережіть поверх нього, щоб зробити його своїм.