Мой провайдер веб-хостинга позволяет мне получить доступ к своему веб-пространству через WebDAV, поэтому я решил создать там git-репозиторий, чтобы посмотреть, что произойдет. Клонирование репозитория только для чтения прекрасно работает, так как "git clone http://my.server.com/repo.git" просто использует стандартный транспорт HTTP.
Проблемы возникают, когда я пытаюсь использовать WebDAV, потому что мой идентификатор пользователя «user@my.server.com», и я должен использовать порт 2077. Это означает, что я должен сделать что-то вроде
git config remote.origin.pushurl http://user@my.server.com@my.server.com:2077/repo.git
и два знака @ в URL должны вызывать проблемы, поскольку «git push origin master» сообщает об «ошибке 22».
Я пытался создать запись в файле .netrc
machine my.server.com
login user@my.server.com
password ****
но это, похоже, не помогло.
Я также пытался заменить первые "@" на "%", "\ @" и "% 40", но ни один из них не сработал.