Git push "ошибка записи: операция не поддерживается"
У меня есть пустое Git-репо на общем ресурсе Samba, на которое моя команда может перейти, но когда я пытаюсь выполнить, я получаю сообщение об ошибке:
remote: fatal: sha1 file './objects/pack/tmp_pack_<changes-with-every-push>' write error: Operation not supported
error: unpack failed: index-pack abnormal exit
To /run/user/1000/gvfs/smb-share:server=<ip-address>,share=<share>/<directory>/<bare.git>
! [remote rejected] <my-branch> -> <my-remote-branch> (unpacker error)
Вот список того, что я пробовал:
- Я скопировал репозиторий с сервера на мою машину и смог сделать это (репозиторий bare.git в порядке)
- Я сделал копию чистого репо на сервере (и добавил в качестве второго пульта), но когда я нажимаю на него, появляется то же сообщение об ошибке (Так что же делать с общим ресурсом samba?)
- Я поместил еще одну копию чистого репо на usb, успешно отправил на него, и член моей команды смог перетащить мою ветку в локальное репо и успешно перенести на сервер через самбу оттуда (так что, возможно, это не самба)
- Затем я создал новую ветку из стабильного и смог оттуда отправить один текстовый файл (так что git возьмет одну фиксацию текстового файла, но не всю из моей рабочей ветки, но это не может быть мои коммиты, как мой коллега мог оттолкнуть мою ветку от своей машины)
- Я запустил gc и с prune, и с агрессивными флагами, и git fsck возвращает никаких проблем
- Я переустановил smbclient и git безуспешно.
Ошибка "операция не поддерживается" заставляет меня думать, что на стороне сервера есть проблема с системным вызовом, из-за которой git возвращает ошибку.
Мне не удалось найти никого, кто имел эту проблему раньше. Есть идеи?
1 ответ
Вот и я наконец решил эту проблему.
Я подключил сервер через Nautilus с помощью "Подключиться к серверу", который монтировал его как:
/run/user/1000/gvfs/smb-share:server=<ip-address>,share=<share>/<directory>/<bare.git>
Я решил размонтировать и смонтировать сервер в / mnt / mountpoint, используя информацию, представленную в этом вопросе.
Теперь это работает, и я могу перенести свою ветку на удаленный компьютер, но только когда я пользователь sudo. Я еще не успел исправить это, но это проблема для другого дня, когда у меня есть время. Надеюсь, кто-нибудь еще, кто имеет эту проблему, найдет мой ответ полезным.