我在Git中有一堆文件,使用Git Annex(基本上用符号链接替换所有文件,只允许你在需要时获取内容)。
我在一台机器上填充了一些包含一些文件的仓库,我正在尝试将它们同步到另一台机器上,运行带有主目录加密的Ubuntu 12.04。
当我运行git annex sync
时,我收到这样的错误:
error: unable to create symlink path/to/really_long_filename_that_is_too_long_for_encfs_or_whatever_ubuntu_is_using_on_this_filesystem.drat: File name too long
同步可以理解失败,因为它无法创建应该存在的所有文件。
显然,我需要将长命名的文件重命名为较短的名称。但是git mv
不起作用,大概是因为无法检出文件:
fatal: bad source, source=path/to/really_long_filename_that_is_too_long_for_encfs_or_whatever_ubuntu_is_using_on_this_filesystem.drat, destination=short.name
如何创建提交以更改无法以其当前名称检出的文件的名称?
注意:由“在不同的文件系统或机器上检查”的答案不是我正在寻找的,不会被接受。我知道如果我将repo移动到未加密的挂载上,或者只是回到我添加文件的机器,我可以重命名文件。我想知道如何在不将整个仓库移动到不同的文件系统的情况下处理这个问题。