CodingFirst

C言語、Perl、JavaScript、最近はPythonも。出来上がったものより、プログラムを書くことが好き。あと、スイーツ。

スポンサーサイト

  • このエントリーをはてなブックマークに追加
  • web拍手 by FC2
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Subversionリポジトリのコード変更量を集計する

  • このエントリーをはてなブックマークに追加
  • web拍手 by FC2

Subversionリポジトリのソースコードのコード変更量、コミット数を月別、人別に集計するスクリプトを書いた。

ためしに、Subversion本家のリポジトリの 9月〜10月(本日、14日)の期間で実行した結果で載せてみる。

$ ./svn-chg.pl -r "HEAD:{2012-09-01}" http://svn.apache.org/repos/asf/subversion/trunk
1397967|   stefan2|2012-10-14|  18|   0
1397871|   stefan2|2012-10-14|  23|  22
1397866|   stefan2|2012-10-14|  51|  55
...
1380056|    rdonch|2012-09-03|   5|  49
1379689|     brane|2012-09-01|  37|  28
1379474|     brane|2012-08-31|  66|   0

 month      | commits | add    | del    | delta 
 -----------+---------+--------+--------+-------
 2012-10    |     163 |  +8396 |  -2276 | +6120
 2012-09    |     240 | +16969 |  -2759 | +14210
 2012-08    |       1 |    +66 |     +0 |   +66

 author     | commits | add    | del    | delta 
 -----------+---------+--------+--------+-------
 brane      |      16 |  +1200 |   -309 |  +891
 breser     |      40 |  +1510 |   -162 | +1348
 cmpilato   |      39 |   +500 |    -88 |  +412
 danielsh   |      40 |   +231 |   -112 |  +119
 gmcdonald  |       1 |     +2 |     -2 |    +0
 hwright    |      13 |    +28 |    -43 |   -15
 ivan       |       1 |    +38 |    -15 |   +23
 julianfoad |      27 |   +487 |   -237 |  +250
 lgo        |       4 |    +34 |    -27 |    +7
 pburba     |       1 |  +5428 |   -378 | +5050
 philip     |       9 |    +18 |    -65 |   -47
 rdonch     |      16 |   +266 |   -164 |  +102
 rhuijben   |      27 |   +375 |   -997 |  -622
 stefan2    |      76 | +13165 |  -1320 | +11845
 steveking  |       1 |   +150 |    -15 |  +135
 stsp       |      93 |  +1999 |  -1101 |  +898

add/del/deltaは、コードの追加/削除/差分の行数。

この結果を見て、どうだというのは正直ない。だって、Subversion本家の開発の様子を知らないし、調べた期間も短いし。
でも、これを自分が開発してる Subversionリポジトリで測ってみると面白い。先月は会議ばっかりで変更量少なかったなぁとか、あいつはコミット数が桁違いに多いなとか、作業の振り返りに使える。

ただし、えげつないデータなので、ご利用は計画的にという事で。

このスクリプトは github に置いた。perlで書いてあって、svnとdiffコマンドがあれば動く。オプションの -r は svn log の -r にそのまま渡すので、詳しくは svn help log をご参照ください。

svn-util/svn-chg.pl at master · yukioc/svn-util · GitHub


実用 Subversion 第2版実用 Subversion 第2版
(2009/07/27)
C. Michael Pilato、Ben Collins-Sussman 他

商品詳細を見る

Perlデータマンジング―データ加工のテクニック集Perlデータマンジング―データ加工のテクニック集
(2003/01)
デイビッド クロス

商品詳細を見る

Programming PerlProgramming Perl
(2012/03/06)
Tom Christiansen、Brian D. Foy 他

商品詳細を見る

Jenkins実践入門 ~ビルド・テスト・デプロイを自動化する技術 (WEB+DB PRESS plus)Jenkins実践入門 ~ビルド・テスト・デプロイを自動化する技術 (WEB+DB PRESS plus)
(2011/11/11)
佐藤 聖規、和田 貴久 他

商品詳細を見る
スポンサーサイト

svnserve をちょっと使ってみる

  • このエントリーをはてなブックマークに追加
  • web拍手 by FC2

svnserveを使ってみた。Subversionリポジトリをちょっといじりたいときに、面倒な設定なしで行うのに丁度よさそうだったので。

環境は OSX 10.8.1 Mountain Lion。
svn は xcode についてたやつだったかな。1.6系で最新ではなく安定板ってとこかな。

$ svn --version
svn, version 1.6.18 (r1303927)
   compiled Jun 15 2012, 19:07:58
...

では、svnリポジトリを作成する。これは1行。

$ svnadmin create sample.svn

svnリポジトリにアクセスしてみる。file://のほうで。

$ svn info file://$PWD/sample.svn
Path: sample.svn
URL: file:///path/to/repos/sample.svn
Repository Root: file:///path/to/repos/sample.svn
Repository UUID: 3cb042f2-8d83-434c-bc21-ada7f8441fee
Revision: 0
Node Kind: directory
Last Changed Rev: 0
Last Changed Date: 2012-09-26 23:19:54 +0900 (水, 26  9 2012)

これを svnserve でもやってみる。
svnserve の立ち上げは、daemon と inetd が選択できるらしいが、簡単そうな daemon にする。あと、面倒を避けるため予めファイアーウォールを開けとく。
「システム環境設定」→「ファイアーウォール」から「ファイアーウォールを切にする」を選ぶ。

$ svnserve -d --foreground -r test.svn

-d はdaemon、あと、--foreground 付けといて用が済んだら Ctrl-C で終われるようにする。

さてと、svnserve にアクセスしてみる。

$ svn info svn://localhost/
Path: localhost
URL: svn://localhost
Repository Root: svn://localhost
Repository UUID: 3cb042f2-8d83-434c-bc21-ada7f8441fee
Revision: 0
Node Kind: directory
Last Changed Rev: 0
Last Changed Date: 2012-09-26 23:19:54 +0900 (水, 26  9 2012)

アクセスできた。内容は URLは違うくらいで file:// と同じ。

あと、hook-script も試してみよう。

$ cd sample.svn/hooks/
$ cp post-commit.tmpl post-commit
$ chmod u+x post-commit

post-commit に以下の行を追加する。

echo "$REPOS $REV" > post-commit.log

あと、conf/svnserve.conf  の [general] 節に下記行を追加する。

anon-access = write

svnserve で動作確認してみる。

$ svn co http://localhost/ sample-svnserve
$ cd sample-svnserve
$ echo 'hello' > hello
$ svn add hello
A         hello
$ svn ci -m '1st'
Adding         hello
Transmitting file data .
Committed revision 1.
$ cat ../post-commit.log
/path/to/repository/sample.svn 1

これを file:// のほうでも試してみる。post-commit 動くのかな...

$ svn co file://$PWD/sample.svn sample-file
A    sample-file/hello
Checked out revision 1.
$ cd sample-file
$ echo 'world' > hello
$ svn ci -m '2nd'
Sending        hello
Transmitting file data .
Committed revision 2.
$ cat post-commit.log 
/path/to/repository/sample.svn 2

post-commit は、svnserve でも file:// でも動いた。
file://の方で動くのは意外だった。これなら hook のテストはわざわざ svnserve にするまでもなく、file:// の方でいいな。

あと、post-commit の出力先が面白い。file:// の方はコミット時のディレクトリ、post-commit は daemonの起動ディレクトリに出力されてたので、実行時のディレクトリがワーキングディレクトリなのだろう。注意せねば。


ImageMagickで撮った月食を1枚にまとめる

  • このエントリーをはてなブックマークに追加
  • web拍手 by FC2

たくさん撮った月食を1枚の画像にまとめる。
ImageMagickを使うとすごい簡単。

まず、月食を撮ったのが初だったので、撮り方のメモ。
オートフォーカスや測光を中央、
フォーカスを∞(無限大)、
手ブレ補正あり、
デジタルズームも使用、
画像サイズ、画質は最大、最高。
あとは撮りながら、ISO100、シャッタースピードを1/200位からはじめて
シャッタースピードを上げ下げして、
暗くて撮れないときは ISO値を上げた。

撮った画像はGimpで四角に切り出して TIFFで保存し、
ImageMagickのmontageコマンドで1枚のJPEGにまとめた。

$ montage -tile 4x2 -resize 100 -geometry +0+0 -shadow moon-*.tiff moon.jpg

で、まとまった画像。

moon.jpeg

正直、安く買ったコンデジで月がちゃんと写ったのに驚いた。
しかも三脚使わずに手ブレしまくりとコンディション最悪だったのに。
いろいろ設定があったのも良かったんだろうな。
普段はほとんどオートだけどそれだと全然撮れなかったし。
安いから侮ってたけど、見なおした(笑)。


カシオ計算機 カシオ デジタルカメラ HI-SPEED EXILIM EX-FC150GD ゴールド EX-FC150GDカシオ計算機 カシオ デジタルカメラ HI-SPEED EXILIM EX-FC150GD ゴールド EX-FC150GD
(2009/11/27)
カシオ

商品詳細を見る

MacbookのUbuntuを11.04から11.10にアップグレードした

  • このエントリーをはてなブックマークに追加
  • web拍手 by FC2

MacbookでUbuntuを11.10のアップグレードした。
すんなりおわった。最近は安定してる...

Ubuntu11.10(Oneiric Ocelot)は10月13日にリリースされて、
アップグレードのダイアログが出たんで、そのまま続けただけって感じで終わった。

もし、アップグレードの通知が出ない場合は以下を参考にするとよさそう。
Ubuntu Tips/インストール/Ubuntu 11.10 へアップグレードを行うには

インストール中に flushplugin-downloader の失敗と出た場合

インストール中にダウンロード後のインストール中に、無線LANが切れたんだけど、
そのせいか flushplugin-downloader 失敗とでた。
たぶん、有線LANにしとけば失敗しないんだろうと思う。次回はそうしよう。
この復旧はインストール後にUbuntu Tweakで Adobe Flushを外す→追加で行った。

Enterキーに右クリックをマップする(11.04→11.10で方法が変わった)

マックのタッチパッドはボタンが1つで、右クリックは二本指でできるけど、
使用頻度の低い Enterキーにもマップする。

11.04の時は問題があってファイル名を .xmodmaprc にする必要があったが
今回は .Xmodmap でないと反映されなかった。

~/.Xmodmap が無ければ作り、以下の行を追加する。

keycode 104 = Pointer_Button3

次に、ユニバーサルアクセスの設定で、ポインター操作とクリックで、マウス・キーをオンにし、
再起動してログインしてEnterが右クリック扱いになってれば成功。

おまけ

Macbookのバージョンの確認

$ sudo dmidecode -s system-product-name
MacBook2,1

Ubuntuのバージョンの確認

$ lsb_release -idrc
Distributor ID:	Ubuntu
Description:	Ubuntu 11.10
Release:	11.10
Codename:	oneiric

WSH2011でホームサーバーをつくってみる(インストール編)

  • このエントリーをはてなブックマークに追加
  • web拍手 by FC2

Windows Home Server 2011のインストール。
インストールする際の注意点やはまったことなど。

インストール先のドライブがフォーマットされる。たぶんドライブ全体。
ドライブをフォーマットして、システム用のパーティション 60GB、
残りを別パーティションになるのが標準らしい。
もろもろのインストールが終わって 30G弱だったので残り 30GB。
ここにユーザ領域を置くのはきついな...
パーティションを切り直すか、ユーザ領域を移すか...悩むとこだ、後回し

リモートデスクトップで接続できる
Ubuntuからもつながった(RDP5)。これでサーバらしく思えてきた

HDMI経由のオーディオがならない
これにはかなりはまった。
やったのは、
1. ASRockのサイトから最新版のドライバを入手して、インストール。→効果なし
2. RealTeckのサイトから最新版のドライバを入手して、インストール。→効果なし
3. AMDのサイトから最新版のドライバを入手して、インストール。→音がなった
AMDのサイトがわかりづらかった。
"Support & Drivers" -> "Desktop Graphics" -> "Auto Detect and install"
と選んでインストールした。

HDMIで1080pが出ない
1420x1152だったかな..なんか微妙なサイズ。
結局、上記の「3」でドライバを差し替えたら出るようになった。

ユーザフォルダをD:\Usersに移す
Administratorとかシステム関係のアカウントはC:\Userでいいけど、
リモートデスクトップとかでログインするユーザは別のドライブにする。

1. 該当のユーザでログイン(orリモートログイン)し、ログアウトする。
C:\Users\tarou フォルダが作られる。
2. Administratorでログインし、D:に移動する
> move C:\Users\tarou D:\Users\tarou
> mklink /j C:\Users\tarou D:\Users\tarou

これで移動できた。
この移動の仕方はジャンクションを見るアプリがあるとうまく動かなそうなので、
セキュリティとかバックアップとかうまくいってるか、ちと様子みしないとな...
まぁ、しばらくこれで進めてみる


んー、なんだかしっくりこないが、次第に慣れるかな...


 | HOME |  »

Search

Recent Entries

Foot Print



Categories

Monthly

Recent Comments

Recent Trackbacks

Profile

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。