Подтвердить что ты не робот

Получение git для соответствия символическим ссылкам (снова)

Кто-то уже спросил, как вы можете получить git, чтобы следовать символическим ссылкам. Был ответ для символического каталога, но не для символического файла. Это было также год назад.

Вопрос: как вы можете git следовать символической ссылке и добавлять файл, на который он ссылается?

Вот старый вопрос: Как я могу получить git, чтобы следовать символическим ссылкам?. Там также вопрос о том, что git обычно Как git обрабатывать символические ссылки?. Я поменяю это поведение.

В случае, если вам все равно: я запускаю git 1.5.4.3 в unix и git версии 1.6.0 на Mac.

4b9b3361

Ответ 1

Я почти уверен, что нет.

Кроме того, это звучит как небезопасное поведение undefined - что он должен делать, когда вы перемещаетесь между версиями файла и ему нужно писать? В частности, если вы проверили ревизию до ее добавления, действительно ли хотите удалить содержимое файла вне репозитория? Что произойдет, если вы вернетесь, чтобы представить и воссоздать файл, или если сама симлинковая ссылка была изменена - должен ли git также отслеживать символическую ссылку?

Вещи в этих строках были в списке рассылки git в конце прошлого года в ответ на практически тот же вопрос.

Ответ 2

Вы можете использовать hardlinks вместо softlinks (символические ссылки a.k.a.). Git затем увидит содержимое связанного файла. Недостаток заключается в том, что когда кто-то проверяет, файл создается как обычный файл в выгруженном каталоге, потому что Git не понимает его как ссылку.

Ответ 3

как насчет использования жестких ссылок, тогда git не имеет представления о его связанном файле (не так ли?)

Ответ 4

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