Переименование файлов в Git Annex с слишком длинными именами для проверки в текущей файловой системе

У меня есть куча файлов в 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

Как мне создать коммит для изменения имени файла, который не может быть извлечен под его текущим именем?

Примечание: ответы, которые состоят из "проверить это на другой файловой системе или машине", не являются тем, что я ищу, и не будут приняты. Я знаю, что могу переименовать файлы, если переместить репозиторий на незашифрованное монтирование или просто вернусь к машине, на которой я добавил файлы. Я хочу знать, как я могу справиться с этой проблемой, не перемещая весь репо в другую файловую систему.

0 ответов

Другие вопросы по тегам