2

我在跑

$ 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:无法创建文件(文件名太长)

它与我密切相关,但并没有解决我的问题。

也不

git ls-files --stage

也不

git ls-files

未找到问题“$180_chars_file_name_looks_cutted_with_spaces_too”文件。我也不能像 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_chars_file_name_with_numbers_at_the_end”并进行编辑时。但是当我输入 ":wq" 文件时消失了。

现在我想我找到了问题的根源,但在那之后生活并没有变得更容易)

4

2 回答 2

1

最后,我在我的情况下找到了尽可能优雅的解决方案。我已经通过 MacOs 磁盘实用程序创建了 ExFat dmg-image。之后,我安装了新的图像文件并将我的 git-repo 复制到其中。它比 VirtualBox 下的 Cygwin 更好用。

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

于 2012-05-05T22:05:20.693 回答
0

这是我发现的一种糟糕但可行的解决方法。

MsysGit 和 Cygwin 都可以正常使用该文件。

所以,我得到了 VirtualBox 并在其中安装了带有MSysGit-utf8 的Windows 。

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

git svn rebase它的工作就像一个魅力。

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

于 2012-05-02T17:36:23.467 回答