LINUX.ORG.RU

Проблемы с симлинками

 


0

1

В общем проблема такая. Я разрабатываю одну штуковину. И для избежания копипасты я сделал 4 симлинка на один файл. Отрапортавал заказчику. Мои файлы это рецепты для open-embedded после чего заказчик применил патч и запустил сборку. После чего система сборки выдала ошибку, мол некоректная стрчока <файл-нейм>.

Суть такая, что система сборки почему то не понимает это как симлинк (именно у заказчика) а рассматривает симлинк как файл с содержимым равным имени оригинального файла. У меня естественно все работает.

Вопрос, почему так и с чем это связано? И можно ли как то излечить?

★★★★★

Не пользуюсь гитом, но по-моему не хватает информации о исходной системе/системе заказчика.

orm-i-auga ★★★★★
()
Ответ на: комментарий от orm-i-auga

Я сам не в курсе. Система конечно линукс, а вот какая там фс например я не в курсе и пока что узнать не могу, а исправить как бы уже надо. У меня есть идея как исправить без симлинков, но в любом случае хочется понять причину происходящего.

Dudraug ★★★★★
() автор топика

эмм кросплатформеность?

и да... симлинки лучше создавать скриптами тогда когда это нужно, а результат нужной конфигурации распространять в виде образов с заранее известной фс.

mm3 ★★★
()
Ответ на: комментарий от mm3

эмм кросплатформеность?

Кросс-платформенность в линукс-онли проекте?

Dudraug ★★★★★
() автор топика
Ответ на: комментарий от mm3

и да... симлинки лучше создавать скриптами тогда когда это нужно, а результат нужной конфигурации распространять в виде образов с заранее известной фс.

То есть возможно, что на некоторых фс в линуксе гит будет плохо работать с симлинками?

Dudraug ★★★★★
() автор топика
Ответ на: комментарий от crowbar

Гит так ведет себя на fat32. Без всяких предупреждений.

Там не может быть fat32. Собирать opene-embedded проекты на fat32 думаю невозможно в принципе.

Dudraug ★★★★★
() автор топика
Ответ на: комментарий от mashina

орли? Почему я сам накладывал у себя и работало. Там патч не diffовский а гитовский как бы. И накладывается не patch командой, а git am

Dudraug ★★★★★
() автор топика
Ответ на: комментарий от Dudraug

для понимания что есть гит можно упростить его до набора скриптов выполняющих простейшие операции сравнения и копирования. Причём скрипты эти не знают и не должны знать что они копируют и сравнивают. Исходя из этого предположения я бы не советовал не то что симлинки, но и названия различающиеся только регистром букв в пределах одной директории, потому что для некоторых ФС file.txt и FiLe.TxT это одно и то же.

mm3 ★★★
()
Ответ на: комментарий от Dudraug

Собирать opene-embedded проекты на fat32 думаю невозможно в принципе.

для линуксоида нет ничего невозможного, и ни fat32 ни DOS shell не являются сколько нибудь существенной преградой для выполнения задуманного.

mm3 ★★★
()
Ответ на: комментарий от mm3

для линуксоида нет ничего невозможного, и ни fat32 ни DOS shell не являются сколько нибудь существенной преградой для выполнения задуманного.

На фате нет линуксовых прав, тех же симлинков. По сути openembedded это система сборки полноценного линукс дистрибутива из сорцов.

Dudraug ★★★★★
() автор топика
Ответ на: комментарий от mashina

значит он накладывает обычным патчем.

Так, еще раз. Я накладывал этот патч на своей машине и он накладывал именно симлинки. То есть он создавал их.

Dudraug ★★★★★
() автор топика
Ответ на: комментарий от Dudraug

Так, еще раз. Я накладывал этот патч на своей машине и он накладывал именно симлинки. То есть он создавал их.

Потому что ты использовал «git am». А заказчик вполне мог заюзать обычный «patch -p1 <0001-your.patch».

P.S. Я не знаю как ведёт себя patch с патчами, содержащими git'овые «расширения».

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

Сомнительно, но не исключено.

Dudraug ★★★★★
() автор топика

для избежания копипасты я сделал 4 симлинка на один файл

/мимо проходил/ имхо «you are doing it wrong» ©

ZuBB ★★★★★
()
Ответ на: комментарий от ZuBB

/мимо проходил/ имхо «you are doing it wrong» ©

Да я понял, уже переделал иначе.

Dudraug ★★★★★
() автор топика
Ответ на: комментарий от Dudraug

На фате нет...

но есть возможность создать файл образа достаточного размера который примонтировать и организовать необходимую структуру

mm3 ★★★
()
Ответ на: комментарий от Deleted

P.S. Я не знаю как ведёт себя patch с патчами, содержащими git'овые «расширения».

пишет что есть, т.е. файлик с текстом линка.

mashina ★★★★★
()
Ответ на: комментарий от Dudraug

Значит там винда во все поля. каноничный гит умеет симлинки.

Dark_SavanT ★★★★★
()

Предположу, что используются абсолютный путь в сим. линке, а не относительный. У заказчика абсолютный путь проекта другой, ссылки следовательно битые.

Jurik_Phys ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.