【发布时间】:2012-04-23 13:02:10
【问题描述】:
我在跑步
$ git svn rebase
几分钟后,它完成了获取并开始变基。 我收到了下一条错误消息:
First, rewinding head to replay your work on top of it...
error: cannot stat '$73_chars_4_deep_levels_path_with_spaces/$180_chars_file_name_looks_cutted_with_spaces_too': File name too long
error: cannot stat '$73_chars_4_deep_levels_path_with_spaces/$180_chars_file_name_looks_cutted_with_spaces_too': File name too long
error: cannot stat '$73_chars_4_deep_levels_path_with_spaces/$180_chars_file_name_looks_cutted_with_spaces_too': File name too long
could not detach HEAD
rebase refs/remotes/git-svn: command returned error: 1
我阅读了以下问题 "git checkout-index: unable to create file (File name too long)"
它与我关系密切,但不能解决我的问题。
也没有
git ls-files --stage
也没有
git ls-files
没有找到问题“$180_chars_file_name_looks_cutted_with_spaces_too”文件。 我也不能像 bdonlan 在他的解决方案中所说的那样重命名文件(通过某种政治决定)。
除了将每个文件夹下载到单独的SVN-repo并通过grafts合并之外,是否有任何解决方法或解决方案?
更新
以上方法我都试过了
MacOsX 10.6
git version 1.7.9.6
svn, version 1.7.4 (r1295709)
提交者正在使用 NTFS 在 Windows 上完成他们的工作
更新 2
我做了一些研究。 我认为问题在于 UTF-8 字符。 我已经尝试创建新文件
$ touch "$180_chars_file_name_looks_cutted_with_spaces_too"
$ ls
132_chars_file_name_with_numbers_at_the_end
文件看起来已损坏。它的末尾有一些数字。您可以复制它,例如:
$ touch "яяяяяяяяя яя яяяя яя яяяяяяяяяя яяяяяяяяя я яяяяяя я яяя яяяяяяяяя яяяяяяяяяяяяя яяяяяяяя я яяяяяяяяяяяяяяяяяя яяяяяя яя яяяяяя яяяяяяяяяяяяя яяяяяяяя яяяяя яяяяяя я яяя яяяяя яяя"
$ ls
яяяяяяяяя яя яяяя яя яяяяяяяяяя яяяяяяяяя я яяяяяя я яяя яяяяяяяяя яяяяяяяяяяяяя яяяяяяяя я яяяяяяяяяяяяяяяяяя яяяяяя яя яяяяяя яяяя#464CDD8
当 vim 编辑器成功打开 "132_chars_file_name_with_numbers_at_the_end" 并编辑它时。 但是当我输入“:wq”文件时消失了。
现在我想我找到了问题的根源,但在那之后生活并没有变得更轻松)
【问题讨论】:
-
你的平台和git版本是什么?
-
哦,对不起,忘记写了。 MacOsX 10.6 git 版本 1.7.9.6 svn,版本 1.7.4 (r1295709)
标签: git svn version-control git-svn dvcs