GitでHTTPのpushができない

CentOS5.5で自分でビルドしたgit-1.7.3.3でhttpで公開されているリポジトリにpushできない.

[text] $ git push Password: fatal: git-push is not available for http/https repository when not compiled with USE_CURL_MULTI fatal: git-http-push failed [/text]

どうやらcurlのバージョンが古いみたい. http.hでcurlのバージョンをチェックして,USE_CURL_MULTIをdefineしている. [c firstline="18" highlight="20"]

undef USE_CURL_MULTI

if LIBCURL_VERSION_NUM >= 0x071000

define USE_CURL_MULTI

define DEFAULT_MAX_REQUESTS 5

endif

[/c]

なので,最新のcurlをビルドする. [text] $ cd /usr/local/src $ wget http://curl.haxx.se/download/curl-7.21.2.tar.gz $ tar zxvf curl-7.21.2.tar.gz $ cd curl-7.21.2 $ ./configure --prefix=/usr/local/curl $ make

make install

[/text]

そして,gitをビルドし直す. [text] $ cd /usr/local/src/git-1.7.3.3 $ ./configure --with-curl=/usr/local/curl $ make

make install

[/text]

これで,問題なくgit pushすることができました. [text] $ git push Password: Password: Fetching remote heads... refs/ refs/tags/ refs/heads/ updating 'refs/heads/master' from 65b04a46af3402256c2fa4ba3c56de2ad295b6e0 to 8d479858e101f096af489d40f9680bb8e4e6524c sending 4 objects done Updating remote server info To http://taka@localhost/git/my.git 65b04a4..8d47985 master -> master

[/text]