При поддержке: Pro.m — здесь продают неWindows компьютеры

Сегодня я расскажу о факте, который, вероятно, является банальным для аксакалов маковской среды, но может быть откровением для новичков. Речь пойдет о различиях в реализации замещения папок (директорий) в Mac OS и Windows.

Mac OS не объединяет содержимое папок при замещении в отличии от Windows! Директория будет переписана полностью вместе со всем содержимым.

Поясню на примере.

Пускай в папках RootFolder1 и RootFolder2 имеем по папке SubFolder (рис. 1).

рис. 1 — Структура папок

Замечу, что в этих директориях присутствуют как файлы с одинаковыми именами (file2, file3), так и с уникальными (file1file4).

Перетащим папку SubFolder с RootFolder2 в RootFolder1. Появится диалог. (рис. 2)

рис. 2 — Предупреждение о замещении

Нажимаем «Replace» и получаем на выходе следующую картину (рис. 3):

рис. 3 — Результат замещения на маке

Как видим, папка была замещена полностью, а все ее содержимое переписано.

Посмотрим теперь, что произойдет в Windows.

Получаем предупреждение (рис. 4):

рис. 4 — Предупреждение о замещении

Заметьте, что здесь нас честно предупреждают, что некоторые файлы в замещаемой папке совпадают по имени с файлами из замещающей директории и они будут переписаны. Говорим «Для всех» и получаем следующее (рис. 5):

рис. 5 — Результат замещения под Windows

Как видим, содержимое папок было объединено, а те элементы, которые совпадали по имени были взяты из замещающей папки.

Для многих пользователей описанное поведение Mac OS будет весьма неожиданным и может повлечь за собой потерю данных. Лично у меня было два казуса.

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

Второе происшествие случилось при работе с бекапом одного из моих сайтов. Я попросил службу технической поддержки моего хостера восстановить сайт из бекапа за предыдущий день. В результате моя проблема не была решена, а после долгих поисков причины я понял, что файлы, которые «поламали» мой сайт не были удалены. На мой вопрос, как это вы возобновлялись, «вежливая» девушка объяснила, что при восстановлении происходит мерж бекапа и существующих файлов. Видать у них там Windows. 🙂

Кстати, учтите, что при работе с фтп-клиентом под Mac OS он будет замещать папки на сервере традиционным маковским способом, а «виндовый» фтп-клиет — традиционным способом для Windows.

Реализовать мерж содержимого замещаемой и замещающей папок можно с помощью терминала и команды:  cp -R source_folder target_folder

Удачи, и пускай ваши ожидания всегда совпадают с результатами ваших действий!


Читайте также: