rcs→cvs→svn→そしてgit。「ぼっち開発にRCSなんていらんのですよ」とか考えちゃったりもするかも知れませんが、これらの仕組みに共通して言えるのはぼっち開発でもとても便利と言うこと。ごっそりコード書き換えて「おい動かねえ…」とかなってもすぐrevertできると言うだけで気分楽ですものねえ。
とは言え、色々と変わりすぎじゃないかしらねえ、ってのはあるかなあ。cvsを必死でお勉強してやっと使える感じになったと思ったらsvn出てきて、svn便利っすねー!とか思ってたらgitが流行りだして…と。まあでも、流行に乗っておくと色々とお得と言えばお得です。情報ももりもり出てくるし、なにより、もしかしたらいずれぼっち開発じゃなくなった時にリポジトリをさくっと公開できる…、できる…。
まあ、個人でバックアップ目的で、なんて言うのなら俺的にはsvnローカルリポジトリをおすすめするのですがね。簡単だし。
で、世の中にはtracと言う素晴らしいものがありまして。元々svnとセットで使う仕組みだったような気がしますが、Wiki、チケット、マイルストーンなんかをリポジトリとセットで管理できるWebツール。これがもうすごぶる便利。TAMも以前からずっと愛用しておりましたが、手元の環境を見たところtrac0.11.7+GitConnector+gitosisってな感じでやや化石。こいつをちょっと、ナウでヤングでモダンな環境にしようじゃないですか、と言う感じです。
と言うわけで、ubuntu14.04にこいつらセットでぶち込みましょう!、と言う感じなのですが、とりあえず過去の環境においてのgitosisが頂けません。何が頂けないのかと言いますと、ubuntuではgitoliteに置き換わってんですよねえ。
ただまあ、考え方は同じと言うか近いので、gitosis使ってたよーって方は比較的簡単に移行できるんじゃないですかねえ。
追々のため、gitoliteユーザのホームディレクトリにある”.gitolite.rc”ってファイルの$REPO_UMASKのところを022に修正しておきます。あまりよろしく無い修正とも思いますが、あくまで個人用と考えるとこれしとくと後で結構楽になります。
本命のtrac。
バージョンは1.0.1なんだそう。ubuntu14.04で入れるんだったらtrac周り一式になりますかねえ。GitConnectorは本体に含まれてるようなので何故かあるtrac-gitパッケージはいらないような気がします。いや、いるのかも知れないけど設定で無効化してんだよねえ。
TracAccountManagerは便利。あくまで個人用として使うならまあ、お母ちゃんにいたずらされない程度の権限管理は欲しいところですから、これでさくっとユーザを作ってしまうのがいいのではないでしょうか。外で使うならこれにSSLクライアント認証もぶち込んで…とかね。
余談なのですが、OpenSSLの証明書発行周りで便利なGUIないかなーと思って色々試したのですけど、YaSTのCA管理メニューがよく出来てるように思えました。完全に余談ですが。
で、ここまできたらもうtracすげえできるわけなんですが、最終的にgitリポジトリと連動させるってことになります。これがもうやばくてですね、色つきdiff画面とか、wikiやチケットでリビジョンへのリンクが簡単に貼れたりとか、コミットログにチケットへのリンクを埋め込めたりとか、便利なんですよ本当に。
んで、リポジトリを指定してやるわけですが、正直全力でおすすめできる形ではありませんが、gitoliteの設定でumaskを調整しておりますので、ここでgitoliteのリポジトリをそのまま指定してやることができたりします。そうしないのであれば、どこかにリポジトリのミラーを作ってフックかけて…的なことになるように思えますが、個人用でいくならこれが楽なんじゃないでしょうか。
とまあ、ここまでいきますと、むちゃくちゃ便利でございます。wikiにさくっとメモって、忘れそうなことはチケットに、期日を切りたければマイルストーンを設定し、リポジトリの修正箇所も色付きでみやすく!。
まあ本来複数人で作業するのによろしいものなのですが、個人で使うにしてもかなり便利です。最近のtracは1つのtracで複数のリポジトリを関連付けることもできるようなので、リポジトリ増えたからtracも増殖…なんてこともなさげ。是非皆様もご家庭に1台trac。
最近はgitと連動できるこの手のものはtrac以外にもあるみたいですが、「迷ったらtrac、覚えておくといいわ…」とマールーさんも言っておりました、俺の脳内で。