git-svn 作業フロー

plagger レポジトリで作業するとする。svkとの比較つき。

まず git レポジトリ作成

git svn init -s http://svn.bulknews.net/repos/plagger/ plagger

これで、plaggerってディレクトリにgitレポジトリができる。svk mirror的なものですね

次にsvnとデータをsyncさせる。

cd plagger
git svn fetch

これは svk sync 的なもので対象の変更をすべてtrackしてmerge情報とかを記録する。なので重い。体感では svk sync 以上。

ちなみに最初の init の代わりに clone とすると一気に fetch までしてくれる。

trunk で作業するよ (ここからが通常のワークフロー)

git checkout trunk

で trunk に移動。

svn が変更されてるかもしれないので

git svn rebase

でチェック。(svk pull 的なもの)

いろいろ編集後

git commit -a

で git レポジトリにコミット。この時点ではローカルの git レポジトリにしか反映されてない。

svn に反映させるには

git svn dcommit

とする。これが svk push 的なもの。

ここまでが一応 co から ci までの流れ。

もう少し例。

fastladder-crawler ブランチで作業してみる

ブランチに移動

git checkout fastladder-crawler

いろいろ変更後コミット

git commit -a

このブランチをtrunkにマージしよう

まずtrunkに移動して

git checkout trunk

マージ

git merge fastladder-crawler

これだけ。すばらしく簡単。

ローカルブランチを作って作業も簡単

まずtrunkのローカルブランチをつくる。まずtrunkへ移動

git checkout trunk

test という名前のブランチ作成してそこに移動

git branch test
git checkout test

これは以下で一発にできる

git checkout -b test

いろいろ編集して test ブランチにコミット

git commit -a

それを trunk に反映

git checkout trunk
git merge test

用が済んだらtestブランチ削除

git merge -d test

とかいう感じ。

ブランチ作ったりマージしたりがさくさくできて気持ちいい。svk ユーザーは一度さわってみるといいと思う。

by typester / at 2008-02-19T22:56:00 / git / Comment

zsh の prompt に git のブランチ情報を表示

svk でやってたものの git 版。

git branch info in zsh prompt

ref: refs/heads/ という部分を消していいのか、ほかのものが入る場合があるのかよくわからなかったので全表示している。

まぁぱっと見で git とわかるからいいかということでとりあえず。

codereposにあげてあるよ。

あぁ、なんか ref: とかすらでずに sha-1 ハッシュ値だけのときもある。もう少し調べないとだめだ。

by typester / at 2008-02-19T18:09:00 / git · zsh / Comment

git

cho45 さんがイイヨイイヨいっていたので git & git-svn ちょっと試し中。

大体基本的な使い方はわかった。

マージが簡単なのはほんとにいい。svk の smerge がより簡単になった感じだ。

ブランチの処理もsvkよりこっちのほうが好き。作りまくって、マージしたら消す。

まだわからないのは適当な場所で git init してスクラッチ的にプロジェクトつくったときそれを svn のほうにマージするにはどうしたらいいのかがまだわからない。

git-svn なレポジトリからスクラッチのほうを pull すればいいのかな? あとでためそう。

あと svk とちがって zsh の補完がかなり高機能でうれしい。svk のはほとんどないも同然。(あるけど遅いので使ってない)

もうしばらく使ってみてから使うかどうか決める。

by typester / at 2008-02-19T16:14:00 / git / Comment

utf8::is_utf8

miyagawaさんが#catalystでいってたことやっと理解できた、きがする。

use Data::Dumper;

my $s = "H\x{c3}\x{ab}llo";

utf8::decode($s);

warn Dumper $s;        # => "H\x{eb}llo"
warn utf8::is_utf8($s) # => 1

だけれども

my $s = "H\x{eb}llo";

warn utf8::is_utf8($s) # => Warning: something's wrong

ということで、"\x{6751}\x{702c}\x{5927}\x{8f14}" などというData::Dumper表記でかならずしも utf-8フラグがたつわけじゃない。ということがいいたかったんだと思うのだけれど、

そもそも ë が latin-1 では "\x{eb}" だけど utf-8 では "\x{c4}\x{ab}" であるということを僕が認識してなかったせいでおかしなことになった。すみません。

by typester / at 2008-02-17T23:07:00 / perl / Comment

Catalyst::Controller::Resources

かっこいい。

オレオレ規約をもとに雛形を生成するヘルパースクリプトでがんばるよりこういう自分用のコントローラをつくるほうがスマートだなぁ。

Catalystユーザー的にはオールドタイプな自分としては見習おうと思った。

by typester / at 2008-02-16T19:34:00 / perl · catalyst / Comment

OpenFL + Plagger::Plugin::Store::Fastladderも実戦投入した!

といっても今まで使ってたyamlに - module: Store::Fastladder の項目を追加しただけだけど。

今までの Store::DBIC (PlaggerLDR) のも残してあるので今はどちらも使える状態。

ちなみに使用感は PlaggerLDR とほとんど同じだなぁ。グリモンなくても使えたりするのが Store::Fastladder のほうがいいところだけど、いますぐ PlaggerLDR から乗り換えるメリットはあまりないのかも。(PlaggerLDR使ってる人はね)

PlaggerLDRよくわからんくてつかってないけど、使いたかったというような人にはかなりおすすめだ。動作している OpenFL の環境があれば Store::Fastladder は plagger の yaml にそのデータベース情報を書くだけで動作する。

あと、OpenFL のデータベースは SQLite じゃなくて mysql を使ってる。PlaggerLDR で経験したのだが、SQLite だとフィード増えてくるとかなり重くなる。せいぜい数ヶ月が限度。

by typester / at 2008-02-09T01:37:00 / plagger / Comment

ユニークなランダム文字列

すでに生成したIDかどうかを気にする必要がないユニークな文字列を作成しようとした場合

use Data::UUID;
use MIME::Base64::URLSafe;

print urlsafe_b64encode( Data::UUID->new->create );

こんな感じにやるのがいいのかなぁ。これで22文字。

んー。

エントリーのURLとかにつかいたくてもう少し短くしたいけど、文字列生成したときに重複してないか調べるためにDBを引くというのがイヤダナー。

by typester / at 2008-02-08T14:19:00 / perl / Comment

plaggerをfastladderのクローラーとして使う

のを作ってみた。

http://plagger.org/trac/changeset/2000

やっとPlaggerLDRいらずになるかなー。

まだDBのカラムの役割とかよくわかってなくて適当な値いれてたりするとこあります。

by typester / at 2008-02-07T18:30:00 / plagger / Comment

クローラー動かすのに

sudo gem install rfeedfinder

も必要だった。

あれクローラーじゃなくてfeedをsubscribeするときに必要だったのかも。覚えてないけどとりあえず必要。

by typester / at 2008-02-07T18:29:00 / ruby / Comment

メモついてるYO! ってつっこまれた。

http://fastladder.googlecode.com/svn/trunk/fastladder/INSTALL.txt

ほうほう。

by typester / at 2008-02-07T15:18:00 / ruby / Comment

21 22 23 24 25 26 27 28 29 30

(Page 25 of 203)