Что у нас есть?



Порше Центр Таганка - стоимость порше.

Блог Terminus'а

Beyond Compare как средство синхронизации сайтов

Рубрики: Новости сайта,
Михаил Бесчетнов @ 10 декабря 2009, в 14:18

Сегодня я расскажу об одной замечательной программе, без которой не мыслю своего существования последние месяцы. Ибо только недавно «открыл ее для себя» :). Речь пойдет о программе синхронизации файлов и папок Beyond Compare. Beyond Compare - продукт платный, но, как известно, эта беда решаема. :)

Для чего она нужна? Есть сайт, доступный, к примеру, по FTP. Большой сайт с большим объемом кода и расвлетвленной структурой папок. И есть его же версия (какая-то) локально. Задача - произвести обновление сайта с локала. Как это делалось раньше (во всяком случае, мной, дремучим). Я проходил по всем папкам и заливал то, что нужно. Потому что, во-первых, в дереве папок могут попасться файлы, которые заливать не надо, а во-вторых, могут попасться файлы, которые следует только частично обновить (например, заливаем не все обновления). Ну или, наконец, надо просто найти файл, который по каким-то причинам имеет разные версии на локале и на живом сайте.

Итак, загружаем программу:

Основное окно Beyond Compare

Слева мы видим набор возможных действий. 6 пунктов ниже Filder Compare - это частные случаи, с которыми можно столкнуться как раз в процессе сравнения папок. Folder Sync я лично не использовал ни разу :). Потому, о сравнении.

По центру окно Saved Sessions. Это, собственно, сессии сравнения, которые имеет смысл держать, чтобы не настраивать каждый раз снова. Зайдя в первый раз в программу, сессий не будет, поэтому мы, уподобляясь первому разу, тыкаем сразу в Folder Compare.

Синхронизация папок в Beyond Compare

Сверху над каждой панелью - адрес синхронизируемой папки. Лично я слева настраиваю удаленный каталог (FTP), а справа - рабочую локальную версию. Если все локальное, то все равно слева находится старая версия, справа - новая. Дело вкуса, конечно, но удобно придерживаться единой логики.

Осталось сделать некоторые первичные настройки.

Во-первых, идем в меню Tools/FTP Profiles... и тыкаем в наш единственный удаленный профайл. В закладке Transfer желательно указать Transfer Type - Binary. По умолчанию программа будет передавать файлы ы ASCII формате, в результате, например, виндовые символы переноса будут преобразовываться в юниксовые (если, конечно хостинг юниксовый). Это приводит к тому, что файл может вечно отображаться как разный в обоих папках :)

Кстати, эту настройку можно сделать и для профайла <default>, чтобы не настраивать каждый сайт снова.

Затем, закрыв окно настройки FTP профайлов, жмем на тулбаре иконку с заключенным :). Здесь описываются правила сравнения файлов. Лично я здесь убираю Compare Timestamps в закладке Comparison, т.к. время у файлов почему-то получается все равно разное (локально и на FTP). Однако можно не убирая, просто настроить этот режим тоньше.

Наконец, на тулбаре жмем  конку с очками (File Filters), и в область Exclude Folders вписываем ".svn" без ковычек. Теперь служебные папки SVN не будут участвовать в сравнении. Если вы, конечно, вообще юзаете SVN :)

Напоследок можно в тулбаре выбрать режим Show Differences, чтобы показывались только отличающиеся и новые файлы. Мне этого всего вполне достаточно.

На вторм скриншоте видно, что на FTP есть группа новых файлов (синих) и что файл task_submit.php отличается от локального. Жмем на task_submit.php, чтобы посмотреть различия (нажимать можно в любой панели).

Сравнение файлов в Beyond Compare

Слева - ползунок, на котором сразу видно где и какие отличия (новых областей тут нет, но они бы выделялись синим). Крайне удобно, что можно выборочно перенести изменения из одного файла в другой, или вообще поправить все руками. Останется только нажать Save над соответствующим окном.

Если после этого файл будет одинаковым в обоих панелях, то он из панелей вообще исчезнет.

Если заранее известно, что одна из помеченых как отличающиеся папок более новая, то можно сразу копировать ее соответствующей кнопкой в тулбаре (лично я забиндил Ctrl+Left/Ctrl+Right для быстрого копирования), и новые и измененные файлы будет перенесены.

Думаю, нет смысла описывать каждый пункт меню программы, тем более, что я сам ее изучил пока слабо. Но уже известной функциональности мне достаточно, чтобы внести Beyond Compare в раздел must have :)


6 комментариев к заметке

  1. Greg Ayrton пишет:

    А как же Total Commander (Alt+D) или его аналоги? Что надо, то и синхронизируй.

  2. Михаил Бесчетнов пишет:

    Alt+D это прекрасно. Но когда речь идет о сравнении десятков файлов, да еще с необходимостью частичного перекидывания измененных областей между ними — Total Commander все-таки сливает.

  3. Perez пишет:

    Абсолютно с вами согласен Михаил. Всё таки в данном смысле Beyond Compare явно выигрывает у Total Commander-а.

  4. Маринка пишет:

    Мне Beyond Compare намного удобнее показалась чем тотал. Теперь буду работать только с этой программой.

  5. All пишет:

    Да программка неплохая, но не бесплатная и функционал не такой как, например у GoodSync более подробно http://websofthelp.ru/infchan/146-sinhronizirovat-faily.html

  6. Михаил Бесчетнов пишет:

    Сильно сомневаюсь, что GoodSync обладает хотя бы близким набором фильтров/настроек :)
    Из плюсов GoodSync (кроме полной автоматизации, которая при синхронизации сайтов может только мешать), заметил поддержку SFTP. Это приятно, да.

Добавить комментарий

В Блоге работает система премодерирования. Спам, реклама, попытки хамить будут беспощадно удаляться. Да, и не работают HTML теги :)

Ну а свежим мыслям я всегда рад, так что не стесняйтесь :)


 
 
©2000—2010 Михаил Бесчетнов aka Terminus
«EXTRACTOR.ru» — игровые ресурсы: распаковка музыки и графики, конверторы форматов и многое другое…
Ссылка на «EXTRACTOR.ru» при перепечатывании оригинальных материалов крайне желательна

Rambler's Top100