git svn rebase“;“文件名太长”;

git svn rebase“;“文件名太长”;,git,svn,version-control,git-svn,dvcs,Git,Svn,Version Control,Git Svn,Dvcs,我在跑步 $ 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

我在跑步

$ 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
我读了下面的问题 “”

它与我关系密切,但不能解决我的问题

也不是

也不是

未发现问题“$180\u字符\u文件\u名称\u外观\u剪切\u带有\u空格\u也”文件。 我也不能像bdonlan在他的解决方案中所说的那样(通过某种政治决定)重命名文件

除了将每个文件夹下载到单独的SVN repo并通过嫁接合并之外,是否有其他解决方法或解决方案

更新

我已经试过以上所有的方法了

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字符文件名,末尾带有数字”并对其进行编辑时。 但当我输入“:wq”时,文件消失了


现在我想我找到了问题的根源,但之后的生活并不轻松)

这里是我找到的一个糟糕但有效的解决方法

MsysGit和Cygwin都正常使用该文件

所以,我买了VirtualBox并在其中安装了Windows

然后我将我的项目复制到VirtualBox中

git svn rebase非常出色地完成了它的工作

之后,我可以将更新后的项目(或从中重新设置基础)复制回MacOs主机。
当然,长名称的文件并没有被复制,但我现在可以跳过它们并添加到忽略列表中。

最后,我在我的情况下找到了尽可能优雅的解决方案。 我已经用MacOs磁盘工具创建了ExFat dmg映像。 之后,我挂载了新的图像文件,并将我的git repo复制到其中。 它比VirtualBox下的Cygwin工作得更好

另外,我也尝试过使用NTFS,但失败了。NTFS-3G和Tuxero驱动程序都不支持长UTF名称。
Linux和ReiserFS也是如此。

你的平台和git版本是什么?哦,对不起,忘了写了。MacOsX 10.6 git版本1.7.9.6 svn,版本1.7.4(r1295709)
$ touch "$180_chars_file_name_looks_cutted_with_spaces_too"
$ ls
132_chars_file_name_with_numbers_at_the_end
$ touch "яяяяяяяяя яя яяяя яя яяяяяяяяяя яяяяяяяяя я яяяяяя я яяя яяяяяяяяя яяяяяяяяяяяяя яяяяяяяя я яяяяяяяяяяяяяяяяяя яяяяяя яя яяяяяя яяяяяяяяяяяяя яяяяяяяя яяяяя яяяяяя я яяя яяяяя яяя"
$ ls
яяяяяяяяя яя яяяя яя яяяяяяяяяя яяяяяяяяя я яяяяяя я яяя яяяяяяяяя яяяяяяяяяяяяя яяяяяяяя я яяяяяяяяяяяяяяяяяя яяяяяя яя яяяяяя яяяя#464CDD8