Git'文件名太长' OS X上的错误

时间:2015-11-19 06:10:15

标签: git macos filenames long-filenames short-filenames

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

1 个答案:

答案 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'。)