msysgit+BASIC認証の不具合と回避策
目次
msysgitでBASIC認証を使ったページからcloneしようとすると途中でBASIC認証が効かなくなってcloneできなかった。
LinuxのGitクライアントからは問題なくcloneできる。
使用したバージョンは下記。
Git-1.7.4-preview20110204.exe
msysGit-fullinstall-1.7.4-preview20110204.exe
その時のエラーメッセージは下記。(URLは例)
error: The requested URL returned error: 401 (curl_result = 22, http_code = 401,
sha1 = 3f00ca6fd69c2fe3fff8fefe8c46c8d8c2379b89)
error: Unable to find 3f00ca6fd69c2fe3fff8fefe8c46c8d8c2379b89 under http://dav.example.com/exsample.git
Cannot obtain needed commit 3f00ca6fd69c2fe3fff8fefe8c46c8d8c2379b89
while processing commit a250db46bf02c5a27a73ac01e629f69d1f8d9d28.
error: Fetch failed.
Webサーバ側のログを見ると、最初はBASIC認証使っているのに、途中からなぜか認証せずにアクセスしようとして取得に失敗している。
回避策はURLにBASIC認証のユーザ名を含めてあげること。(URLは例)
http://ユーザ名@dav.example.com/example.com
