5

私の Web ホスティング プロバイダーでは、WebDAV 経由で Web スペースにアクセスできるので、何が起こるかを確認するためだけに、そこに git リポジトリをセットアップしようと考えました。「git clone http://my.server.com/repo.git」は標準のHTTPトランスポートを使用するだけなので、リポジトリの読み取り専用のクローンは問題なく機能します。

私のユーザーIDは「user@my.server.com」で、ポート2077を使用する必要があるため、WebDAVを使用しようとすると問題が発生します。これは、次のようなことをしなければならないことを意味します

git config remote.origin.pushurl http://user@my.server.com@my.server.com:2077/repo.git

「git push origin master」が「エラー 22」を報告するため、URL の 2 つの @ 記号が問題を引き起こしているに違いありません。

.netrc ファイル エントリを作成してみました

machine    my.server.com
login      user@my.server.com
password   ****

しかし、それは役に立たなかったようです。

また、最初の「@」を「%」、「\@」、「%40」に置き換えてみましたが、どれも機能しませんでした。

4

2 に答える 2

6

現在のバージョンの git は、ユーザー名とパスワードのパーセント アンエスケープを処理しません。これを修正するために昨日パッチを提出したので (少なくとも HTTP URL の場合)、すぐに修正される可能性があります。このパッチを適用すると、次の方法で WebDAV にアクセスできるようになります。

git config remote.origin.pushurl http://user%40my.server.com@my.server.com:2077/repo.git

ただし、私が書いている時点で、libcurl > 7.16 (「git help http-push」のメモを参照) に関連する別の問題が発生している可能性があります。

于 2010-11-13T15:10:40.783 に答える