Just another Ruby porter,

〜2007年3月下旬〜


<Prev(,) | Next(.)> | Recent(/)>> | RDF

2007-03-21 (Wed)

[SVN] 複数branchの同時commit

なかださんが複数のbranchに対して同時にcommitしてるけど、どうやってんだろう?
一応自分で考えてみた。全branchをcoするなんてのは無駄なので、
たぶんそんなことはしてないと想像。必要なbranchだけが対象になるようにしよう。
まず大元をcoするときに-Nで再帰的にcoしないようにする。

% svn co -N svn+ssh://svn@ci.ruby-lang.org/ruby/

branchesも同様。

% cd ruby
% svn up -N branches

あとは適当に欲しいbranchだけupdateする。

% svn up trunk branches/ruby_1_8{,_5,_6}

これでできあがり。ruby/でsvn upすれば全部updateできるので、
同様にここでcommitすれば複数branchの同時commitが可能になるはず(たぶん)。

というか、commit云々よりまとめてupdateできてすげー便利だよ、こりゃ。


2007-03-22 (Thu)

[Soft] txt2man 1.5.5

About:
Txt2man converts flat ASCII text to man page format. It is a shell script using gnu awk, that should run on any Unix like system.

[Comic] 三国志

10巻まで読んだが同じ顔だらけで誰が誰だかわかんないよ。


2007-03-23 (Fri)

[Tips] dateでUnix epoch

GNU dateは@をつければUnix epochも解釈してくれるんだな。

% date +%s
1174669919
% date -d @1174669919
Sat Mar 24 02:11:59 JST 2007

あとyesterdayとか便利。

% date -d yesterday +%m-%d
03-23

2007-03-24 (Sat)

[RSS] Dapper: The Data mapper

こんなのがあるなんて全然知らなかった。
手始めに http://www.yomiuri.co.jpで試してみたが、結構難しいな。
余計なアイテムがまざったり、なぜか抜けちゃったりと。


2007-03-25 (Sun)

[穴] reverse lines

bashならtacでいいはずなんだが、入力データの最終行は改行がないので困る。
(dd;echo)|tacなどと無駄なことをしてたが、そういえばあれならいけると思いついた。
逆にいうと echo の入力データは全部改行があってよかったというか。


2007-03-26 (Mon)

[git] git svn multi-init

man git-svnを見るとsvnで推奨されてるレイアウト(trunk,brances,tags)の場合は、
multi-initしてmulti-fetchしたほうがいいようだ。
Rubyのsvnリポジトリをローカルへ持ってきて実験。

% mkdir ruby.git; cd ruby.git
% git svn multi-init file:///some/where/svn/ruby -T trunk -b branches -t tags
% git config svn.repack 1000
% git config svn.repackflags '-a -d'
% git svn multi-fetch

で4時間弱。repackしないと最終的には2GBぐらいに膨れあがるので必須設定のような気がする。

% du -sh
45M     .

こんなに違う。ちなみに元々のsvnリポジトリは323MB。
まあfsfsだと1コミットで1ファイルだしねえ。
gitもpackして1個のファイルにしてるから小さくなってるわけで。

switchの方法はよくわからず。

% sed -i~ 's|file:///some/where/svn/ruby|svn+ssh://svn@ci.ruby-lang.org/ruby|' .git/svn/*/info/url

でうまくいってはいるようだけど。

あと.git/svnの要らないブランチは消すとmulti-fetchでfetchしなくなる。
ってそれはなんか間違った方法だと思うよ。


2007-03-27 (Tue)

[Soft] Fishkill

ゴルフ向き?関数型はよくわからんなあ。

About:
Fishkill is a minimalist functional programming language. Some might call it a toy language. It is based entirely on pattern matching of function arguments. There are no data types (or you might say there is a single data type). Instead, arbitrary constructors can be defined by just using them in a program.

2007-03-28 (Wed)

[穴] L system

意表をついてほとんど話題になってないL+system.rbを晒してみる。

n,$_,*h=$<.read.split
puts$_
n.oct.times{puts gsub(/./){Hash[*h][$&]||$&}}

案外きれいにまとまってる。


2007-03-29 (Thu)

[穴] gets nil

全部読むときには$<.readかgets$_をよく使うんだけど、
nilが入ってる変数はいっぱいあるのに、なぜかgets$_を選ぶことが多い。
それはそれとして、gets($_).splitと長くなっちゃうよなあと思い込んでしまった。
そうなると中々抜け出せない。

公開するとそういう指摘があったりで結構利点があるよね。

ちなみに一番最初のバージョンはこんな感じだった。

n=gets.oct
$><<s=gets
h=Hash[*$<.map{|$_|split}.flatten]
n.times{puts s=s.split("").map{|i|h[i]||i}*''}

flattenなんてこんな長いのよく使うよな。


2007-03-30 (Fri)

[Soft] bug 1.1

About:
Bug is a simple todo-tracking system for the unix commandline. It's written in bash, and it only requires the typical Unix utilities: grep, cut, tr, ... It should probably work with a small busybox. The lack of dependencies was the biggest motivation for its development.

[TV] 似て蝶

今日のスポーツニュースを見て感じた。
中村紀洋と花田勝とホリエモンの区別がつかない。


2007-03-31 (Sat)

6ヶ月定期券

今月で定期券が切れるついでに東武野田線の磁気カードもSuicaにまとめようと思って一週間、
いつ見ても窓口は行列で先延ばしにするうちに今日になってしまった。
この時期だと土曜日でも信じらんないくらい混んでいて、
もう待つのもいやなので自動販売機で新規を買った。
帰りの切符を買うのも面倒だし今日から有効にして。
というわけで、いま無駄に2つSuicaがある。
空いたらチャージ分だけでも払戻してもらおうかな。
手数料210円取られるらしいが。

それで気づいた。4/1からでも3/31からでも6ヶ月だと9/30まで有効の定期券になる。
せこい話だがうまい具合に大の月と小の月が組み合わさったわけだ。


<Prev(,) | Next(.)> | Recent(/)>> | RDF


WWW を検索 jarp.does.notwork.org を検索

わたなべひろふみ
Key fingerprint = C456 1350 085F A320 C6C8 8A36 0F15 9B2E EB12 3885
Valid HTML 4.01!