トップ «前日 最新 翌日» 編集
RSS feed

ただのにっき


2009-03-23(月) [長年日記]

git学習フラグが立ってしまった。またはCorkscrewでgitのproxy越え

昨日はGitHubのアカウントを取るなどしたものの、基本的にgitを真面目に使う気はなかった。職場のネットワークはHTTPしか通さないproxyが壁になって、「git:~」とか「svn+ssh:~」なんてリポジトリは使えないのだ。

などとつぶやいたら、「Corkscrew」というキーワードが降ってきた。トンネル掘削用のツールらしい。知らんかった。gitコマンドが持つproxy越え機能と連携できるようだ。壁の向こう側に特別な仕掛けがいらないということはたぶん、以前使ったconnect.cと似たようなものかな。ウチのproxyはポート制限は特に行っていないので、これでいけそうだ。参考サイトはgitをHTTP Proxy経由で利用したい場合の対処法

まずはgitコマンドとcorkscrewコマンドのインストールなんだけど、Debian使いはここでまずつまづく。「git」だと同名の聞いたこともないファイラーが入ってしまうのだ。ここは「git-core」:

% sudo aptitude install git-core corkscrew

GitHubではgit 1.5以降のみサポートしているようで、1.4どまりなetchでは(バックポートを入れない限り)使えない。lennyにしろってことですね、わかります。

gitから使わせるcorkscrew用のコマンドを作成:

% cat ~/bin/git-proxy
#!/bin/sh
corkscrew YOUR_PROXY_HOST YOUR_PROXY_PORT $1 $2

% chmod u+x ~/bin/git-proxy

YOUR_PROXY_HOSTとYOUR_PROXY_PORTは環境に合わせて。あとは環境変数GIT_PROXY_COMMANDに上記コマンドを指定して、gitコマンドを実行すればいい。とりあえず角谷さんのtestable_tdiaryをcloneしてみた:

% export GIT_PROXY_COMMAND=git-proxy
% git clone git://github.com/kakutani/testable_tdiary.git

ちゃんと成功したようなので今日はここまで。gitは他のSCMと比べて考え方が相当違うみたいなので、今までgitの話は避けてきたのに、これで学習フラグが立っちゃったなぁ。時間ねぇぇぇぇ。

つーかさー、たしかLinusがgitを作ったときは「これはLinuxカーネルのソース管理には向いているけど、他のプロジェクトには合わないだろう」とか言ってなかったっけ? なんでこんなに盛り上がってんの?

Tags: git
関連する日記: 2009-03-29(日)

さくらインターネットにSubversionを入れたメモ

mixi2gmailをCodeReposに入れたはいいが、動かしてるさくらのサーバにsvnが入ってない件。とほほ。この同じサーバ上に各ユーザが入れたsvnがどんだけあるか考えたら悲しくなってくるね。

で、Web上にはいろんな手法があふれていて混乱するので、おれも混乱に拍車をかけることにする。

% wget http://subversion.tigris.org/downloads/subversion-1.6.0.tar.gz
% tar zxf subversion-1.6.0.tar.gz
% cd subversion-1.6.0
% wget http://ftp.kddilabs.jp/infosystems/apache/apr/apr-1.3.3.tar.gz
% tar zxf apr-1.3.3.tar.gz
% mv apr-1.3.3 apr
% wget http://ftp.kddilabs.jp/infosystems/apache/apr/apr-util-1.3.4.tar.gz
% tar zxf apr-util-1.3.4.tar.gz
% mv apr-util-1.3.4 apr
% http://www.webdav.org/neon/neon-0.28.4.tar.gz
% tar zxf neon-0.28.4.tar.gz
% mv neon-0.28.4 neon
% ./configure --prefix=$HOME --with-ssl --without-berkeley-db
% make && make install

sqlite3とかswigを入れてないけど動いてるからよし。

追記: 2009-03-24

kayakayaさんからもっと簡単な方法を紹介してもらった。レンタルサーバに入れるのならこれで十分なはず。おれもこれに入れ替えた。

Tags: svn
本日のツッコミ(全9件) [ツッコミを入れる]
よせなべりん (2009-03-23(月) 17:46)

分散SCMの本命不在の状況に突如現れたからでは。
サポートが無くなる可能性がほぼゼロだし。

ただただし (2009-03-23(月) 18:14)

ははは、たしかに本命がなかったですね。
でも使うの難しいよなぁ。デザイナさんに使わせようとはとても思えない……。

じゃっくん (2009-03-23(月) 20:43)

sqlite3とかswigとかは元から入っているはずですね。
どっちも入れてませんがtracもちゃんと動いてます。

ただただし (2009-03-23(月) 21:22)

むむ。sqlite3はあったけど、swigは見つからないなぁ。ホストによって違うのかしらん?

りんね (2009-03-24(火) 00:55)

gitでNTLM認証Proxyを通過するのに苦労しました…。

GIT_PROXY_COMMANDだとどこへのアクセスもproxy経由になって、イントラにリポジトリ立てた時あまり都合がよくないです(gitはそれこそ頻繁にリポジトリ作りますし…)

git config core.gitproxy '"git-proxy" for github.com'

とすると特定のドメインへだけproxyを指示できます。あと全般的に設定したりリポジトリごとに設定したり。詳しくはcore.gitproxyを調べてみてください。

ただただし (2009-03-24(火) 12:16)

>りんね
あ、やっぱりgit-configでも指定できたんですね。さすがに環境変数はないだろうと思っていたのですが(笑)。あとでやってみます。

じゃっくん (2009-03-24(火) 21:45)

スイマセン、確かにswigはないですね。
trac入れるとき何か2つが不要だった印象があったので…。もひとつはpythonでした。

ひらく (2009-03-25(水) 15:34)

ここで空気を読まずに「Mercurialならhttpでアクセスできます」とか言ってみます

ただただし (2009-03-25(水) 16:27)

お待ちしてました(笑)。


トップ «前日 最新 翌日» 編集
RSS feed