我有一个由git
在linux上跟踪的目录,我将其复制到mac OS。在git status
上,由于filename: File name too long
错误,多个文件未被跟踪。一个文件名(及其相对路径)是393个字符。是否有限制4096个字符(Windows除外)? [Reference]我的core.longpaths
设置设置为true。 (同样如此core.precomposeunicode
设置为true,但可能无关紧要)。有什么建议吗?
答案 0 :(得分:3)
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'
。)