Git "слишком длинное имя файла" ошибка на OS X

У меня есть каталог, который отслеживается git на Linux, и я скопировал его в Mac OS. На git status несколько файлов не отслеживаются из-за filename: File name too long ошибка. Одно имя файла (с его относительным путем) составляет 393 символа. Есть ли ограничение в 4096 символов (кроме Windows)? [Ссылка] Мой core.longpaths настройка установлена ​​в true. (Тоже так core.precomposeunicode установлен в true, но, вероятно, не имеет значения). Любой совет?

2 ответа

Решение

OS X имеет NAME_MAX (в байтах компонента имени пути) установлено значение 255:

$ grep NAME_MAX /usr/include/sys/syslimits.h
#define NAME_MAX          255   /* max bytes in a file name */
#define CHARCLASS_NAME_MAX     14   /* max character class name size */

Это 393-байтовое имя одного компонента или всего пути? (Пример: "foo/bar/baz" имеет 3 компонента, каждый по 3 байта, а весь путь составляет 11 или 12 байтов в зависимости от того, считаете ли вы завершающий '\0', NAME_MAX константа здесь не считается завершающей '\0'.)

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

Используйте консоль и используйте эти команды:

  • git-клон https://github.com/xxx/xxx.git
  • компакт-диск ххх
  • git конфиг --список
  • git config core.symlinks false
  • мастер проверки git
  • мастер происхождения git pull

Я беру ответ из:

https://github.com/Urigo/IonicCLI-Meteor-WhatsApp/issues/4#issuecomment-382957742

Другие вопросы по тегам