Почему «Копировать» заменяет материал, а не объединяет его?

Это начало меня очень раздражать

Если у вас есть исходная папка с 2 файлами, и вы копируете что-то в ее родительскую папку, где имя папки такое же, и давайте представим, что вы копируете 3 файла и в конце вы хотите получить 5 файлов, давайте сделаем пример, например:

Оригинал:

~/User/abc/Documents/locale/fileA
~/User/abc/Documents/locale/fileB

Материалы, которые вы хотите скопировать:

locale/fileC
locale/fileD
locale/fileE

Когда вы копируете его ~/User/abc/Documents/, вы получаете это:

альтернативный текст

Нет возможности КОПИРОВАТЬ / ОБЪЕДИНИТЬ ! если вы нажмете REPLACE, вы получите:

~/User/abc/Documents/locale/fileC
~/User/abc/Documents/locale/fileD
~/User/abc/Documents/locale/fileE

вместо того

~/User/abc/Documents/locale/fileA
~/User/abc/Documents/locale/fileB
~/User/abc/Documents/locale/fileC
~/User/abc/Documents/locale/fileD
~/User/abc/Documents/locale/fileE

Что здесь происходит? Как я могу просто объединить то, что я хочу, с существующим. Как спрашивает Transmit

альтернативный текст

+1. Хотелось бы знать, почему . Следует отметить, что это стандартная практика с Finder с начала 90-х, если не с самого начала. cpв командной строке сливается просто отлично.
это довольно грустно, не так ли? такая простая вещь, которая может вызвать столько головной боли... включая уничтоженные данные!!! Я думаю, что вопрос слишком открытый. Может быть, измените его на что-то вроде «как я могу скопировать слиянием, а не заменой?»
Не перетаскивайте папку — вместо этого перетаскивайте только файлы. Это должно дать вам желаемые результаты.
@Dori: правда, но это действительно отстой, когда у вас есть куча папок под папками, которые вы хотите объединить: /
В целом я считаю это скорее особенностью, чем недостатком. Мне кажется очень странным ожидать, что две папки сольются без проблем. Как программист, я часто хочу удалить старые/устаревшие файлы, и слияние этого не сделает.
@Chealion: Когда вы говорите, что «cp в командной строке» отлично сливается, я был удивлен. Но, "cp -R a/* b/" каким-то образом объединяет a/subdir в b/subdir. Я не уверен, что доверяю этому. Обратите внимание, что когда вы используете mv вместо cp, вы получаете сообщение об ошибке.
@khedron Я узнал, что он слился, когда попытался заменить его, и задался вопросом, почему дела пошли не так с проектом, над которым я работал. К огорчению моего предположения, оно слилось идеально.
@Чеалион: Хе! Это весело.
Да, это особенность. Причина, о которой я мог подумать, заключается в том, что некоторые каталоги на самом деле являются контейнерами ( .app, .bundle, .kext), и «слияние» по умолчанию было бы катастрофическим.

Ответы (4)

Мы (пользователи OS X) задаем себе этот вопрос с незапамятных времен.

Очень хорошо сформулированный вопрос на грустный ответ: OS X этого не делает и не может делать без сторонних инструментов.

Есть много сторонних альтернатив, я просто продолжу и порекомендую то, что я считаю лучшей альтернативой Finder, но… ваш пробег может отличаться.

Path Finder от CocoaTech не является бесплатной альтернативой (далеко от нее), но он окончательно устраняет большинство недостатков Finder и добавляет много приятных вещей по той же цене.

Если вы чувствуете себя более предприимчивым, вы можете посмотреть различные альтернативы и их цены прямо здесь .

Обновление : еще в сентябре 2010 года TotalFinder не существовало, но это очень хорошее дополнение, которое добавляет в Finder вкладки, вырезание, изменение порядка папок и т. д. Не бесплатно, но намного меньше, чем Path Finder, если это то, что вы ищете.

Будем надеяться, что 10.7 принесет новую парадигму, где подобные вопросы больше не актуальны :)

Path Finder действительно великолепен, спасибо, что указали на это, чтобы не думать о том, что Apple уделяет много внимания мобильным устройствам (ведьма великолепна, не поймите меня неправильно) и оставляет нас, пользователей настольных компьютеров, с таким поведением :(

Я считаю, что это из-за того, что Mac OS X обрабатывает определенные пакеты.

Например, приложение . Для пользователя это просто файл .app , вы дважды щелкаете по нему, и приложение открывается.
Но на самом деле это папка с расширением .app, с такой иерархией:

приложение для сафари mac-ox-x

Вы можете убедиться в этом сами, щелкнув приложение правой кнопкой мыши и выбрав «Показать содержимое пакета».

Единственная причина, по которой я вижу, что Apple не разрешает слияние в папке, заключается в том, что они не хотели запутать пользователя. Например, просить объединиться, когда все, что вам нужно, это обновить приложение.
И поскольку это стандартный способ представления пакетов в системе Mac OS X, они не пытались провести различие между пакетами и простыми папками.

Уважительная причина, но другие «исключения», подобные этому, не помешали Apple «жестко закодировать» поведение в Finder, поэтому я не понимаю, как они не могли просто заменить пакеты приложений «за кулисами».
Я согласен с тем, что Apple не хотела запутать пользователей, но я думаю, что аргумент пакета не имеет значения... Папки и пакеты уже обрабатываются по-разному. На самом деле пакет — это не то же самое, что папка. Оба являются каталогами , но пакеты и папки обрабатываются в графическом интерфейсе по-разному.

Скорее всего, слишком поздно для всех ваших замененных файлов, но скопируйте папку ( Option ⌥+ C), а затем вставьте элементы ( Option ⌥+ V), затем будет предложено объединить

Достаньте свой верный терминал и выполните:

prompt>cp -R locale ~/User/abc/Documents/