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

ただのにっき


2005-08-02(火) [長年日記]

Subversion

やまだあきらさんがximapdのMLにもりもりパッチを投げまくっているので、「こりゃTrunk HEADに追従しないと乗り遅れるかも!」と焦り(←客観的には焦る必要なし)、重い腰を上げることに。ってつまり、Subversionを入れたってことなんだけど(おせー!)。

といっても、こんだけ:

% sudo apt-get install subversion

で、ximapdは職場で使っているので、proxyを通さないと社外のリポジトリは使えない。調べたところ、~/.subversion/serversを書き換えるらしい。設定はこんな感じ?:

[global]
http-proxy-host = proxy.example.com
http-proxy-port = 8080

で、coしてみたら、ダメなのだった:

% svn co http://projects.netlab.jp/svn/ximapd/trunk ximapd
svn: REPORT リクエスト (相手: '/svn/ximapd/!svn/vcc/default') が失敗しました
svn: REPORT (URL: '/svn/ximapd/!svn/vcc/default'): 400 Bad Request
(http://projects.netlab.jp)

Status 400って……。proxyのいらない自宅サーバ上でやると問題ないから、svnの使い方は間違ってないんだよな(たぶん)。これは会社のproxyの設定に問題があるってことか?(→コレかな?) 上流のproxyにイチャモンつけるのは難しいなぁ……。自宅でsvn upして、それをscpかrsyncで取ってくることにするか。

……というわけで、ただいま先っぽに追従中。

Subversion(2)

せっかくなので真面目に使うテスト。自宅サーバのCVSリポジトリを変換してみよう。ブランチも切ってないから、素直にコンバートできるだろう。もっとも、CVSでも何も困ってないんだけど。

ツールはcvs2svnを使うらしい。保存形式には悪評高き(?)Berkeley DBじゃなくて、そろそろ安定してきたと言われているfsfsを使うことにする。

% sudo apt-get install cvs2svn
% cvs2svn --fs-type=fsfs -s ~/svn /var/lib/cvs

うんうん考え込んだあと(マシンが遅いので)、コンバート完了。これを、ssh経由で職場のマシンからアクセスする。真面目に(といっても関係のありそうなところだけつまみ食いのように)マニュアルを読んでから:

% cd ~/tmp
% svn co svn+ssh://tsukuba/home/sho/svn/trunk/www/komainu

ずらずらずら〜とcheckoutされてきた。成功だ。スムーズすぎて怖い(←珍しくちゃんとマニュアルを読んだからだと思われ)。

Subversion(3)

よそのレポジトリを職場からGETできるようにするには、自宅サーバに本家のコピーを持たせちゃえばいいんだよな。そうすればsvn+sshで取れるわけで。でもcvsの-dオプションみたいに、commit先のレポジトリを無理やり変更することはできないみたい……? svn switchが使えるかと思ったけど、違うようだし。

結局、ximapdについては、

  • svn exportした本家の内容を自宅サーバのレポジトリにsvn add、svn ci
  • 本家の内容を反映するときは上のディレクトリにsvn export --forceで強制上書きしてからsvn ci

って感じにしてみたが、スマートではないよなぁ。まぁこれだと、少なくとも自分で書いて追加したpluginなんかは問題ない。ファイルの追加や削除があったときには少し困る(が自動化は可能か?)。ローカルパッチがどうなるかは……そのときになってから考えよう(汗)。

本日のツッコミ(全13件) [ツッコミを入れる]
smbd (2005-08-02(火) 14:26)

自宅のサーバーでproxyを上げてそこをsvnのproxyにするってのはどうでしょう?

ただただし (2005-08-02(火) 14:28)

問題があるのは「うちの会社のproxy」なので、そんなことをしても何の解決にもならない気が……?

向井 (2005-08-02(火) 16:48)

レポジトリ情報は .svn/entries の url に書いてあるようなので、これを手で修正しちゃうという技はどうでしょうか>レポジトリ位置の改変
それで上手く行くのかわかりませんが……。
または svk を使うとか。

ただただし (2005-08-02(火) 16:54)

そのsvkってぇのが、探していたものみたいです。あとで試します。

smbd (2005-08-02(火) 22:31)

svn repo -- 家サーバ(http proxy) -- ssh tunnel -- svn client
って事っす

ただただし (2005-08-02(火) 22:51)

あー。それは考えなくもなかったんだけど、そのためだけにサーバ立てるのもなぁ……と。すでにメモリも厳しいし。

smbd (2005-08-03(水) 02:56)

なるほど。
じゃぁ、webrickでお手軽proxy作ればいけるんじゃないかな?と思って試してみたのですけど
lib/net/http.rbが1.9 featureで"PROPPATCH, LOCK, UNLOCK, OPTIONS, PROPFIND, DELETE, MOVE, COPY, MKCOL"には対応してるけど
"REPORT MERGE MKACTIVITY CHECKOUT"には対応してなくてダメポ…

TrackBack (2005-08-11(木) 16:17)

http://sho.tdiary.net/20050803.html#p01
ただのにっき
Subversion(4)
「CVSupのSubversion版みたいのが欲しいんだよね」と思ってイロイロ探してみたんだけど見つからなくて困っていたら、サクっと「それはsvkである」的なツッコミをもらったのであった。やっぱ人力検索(違)はすごい。まさか「分散」がキーワードになってるとは思わなかった。..

ごとー (2005-08-12(金) 01:51)

cvs -d相当の件は svn switch --relocateでいかが?

ただただし (2005-08-12(金) 13:37)

switch --relocateは、まったく出自の異なるリポジトリ間の移動には使えないみたいですよ

TrackBack (2005-08-19(金) 15:58)

http://sho.tdiary.net/20050819.html#p02
ただのにっき
Subversion(6)
以前ためしにSubversionに移行してみたのに、その後うっかりしてCVS上で作業してしまったりしたので、またCVSの方が新しくなってしまった。運良くSubversion上のファイルは更新していなかったので、また作り直し。今度こそ真面目に移行する。 今回はこま犬の、今まで未管..

TrackBack (2005-10-27(木) 21:58)

http://starfish.dyndns.org/y/index.php?/archives/369-Subversionaa.html
無関係な死
Subversion導入
CVSでちょっと新しいプロジェクトを作ろうと思ったけど、バイナリファイルを大量に含んでいるので、インポートのとき変になったりしないかということでSubversionを導入してみた。導入は

torachi7201 (2008-06-24(火) 17:19)

自分も自宅のSVN(WebDAV経由)レポジトリにアクセスしようと思ったら,大学のHTTPプロキシに400ブロックされてしまいアクセスでできませんでしたが,
HTTPS接続を用いてSSLを噛ましてやるとアクセスできるようになりました.
ご参考まで.


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