Brad Choate: OSCON: Subversion Best Practicesの和訳に挑戦してみました!誤訳などありましたら遠慮無くコメントしてください。また、一部が原文のままです。
原文と訳文の併記版 (Wiki)がありますので、誤訳がないか確認される方はそちらをご覧になると便利かと思います。Wikiを直接修正していただいても結構です!
ちなみ私は英語初心者で、こういう翻訳作業は初めてです。また今回の翻訳にあたって一部をfjkktkys (fjkktkys blog)に添削していただきました。ありがとう!
それではどうぞ。
原文へ
OSCON: Subversion Best Practices
これは、たった今私が出席しているOSCONのまとめです。この部屋は人でいっぱいだよ。
このお話はグーグル勤務のBen Collins-Sussman と Brian W. Fitzpatrickによるものです。
SubversionサーバベストプラクティスsvnとApacheどっちを使うか? →場合による
svnserve: 速くて軽くてすぐできる. 簡易セットアップ用。暗号化したければsvn+sshで。Apache: ネット上で共有する場合; 柔軟な認証が可能; ブラウザでレポジトリを見れる; ログを残す場合。レポジトリは1つか複数か?→場合による
1つの場合: ユーザーは共有だしコードも共有。なのでメンテナンス負荷は減る (ASF uses a single repository for their entire directory of projects).複数の場合: 全く異なるアクセスポリシーやデータ形式を適用できる (例えば、テキストとバイナリとかね).認証ポリシー
svn 1.3 からパスレベルの認証をサポート。オープンソースが前提なら認証無しにもできる。信頼感が生まれる。全部消すなんて無理ってことよ。レポジトリを閲覧する道具
何を使うべきか? Apacheがフリーブラウザと共に誕生したのだから、普通はブラウザでしょ。でも差分や注記の表示は未サポートなので、特定のリビジョンを指定しましょう。ギークはsvnコマンドがお好き。あとギークが好きなのは ViewVC, Trac とかそんなとこ。フックスクリプト
コミット前のフック (Pre-commit hooks)
処理中に変更をしないこと。代わりにエラーを吐いて処理を止めるよう。我々が愛用するフック
check-case-insensitive.py (コミット時に大文字小文字が異なる同じ名前のファイルがすでにあるか確認する)コミット後のフック (Post commit hooks)
& を付けてバックグラウンドで実行する (訳注:時間のかかる処理をしてもコミットが遅くならないように) 我々が愛用するフック
mailer.py (コミットをメールで通知)CIA bot (コミットをIRCで通知)ロック/リザーブ チェックアウト
同時編集させなくすることができる。どんな時にこれらを使うのか?バイナリファイルの変更; その他マージ出来ないファイル. あなたはそのようなファイル群のコンフリクトを防ぐためにロックを必要としていただろう。svn:needs-lockプロパティが設定される。チェックアウト時にはファイルは読み取り専用になっていて、読み書きする度に修正しなければならない。ロックしようとしても出来ない。誰か他の人が編集中だから。自動バージョン管理
Apache専用コーディングのないプロジェクト向け非エンジニア向け旧来のコーディングプロジェクトには向いていない
ログメッセージが無い公開レポジトリは潜在的にEメールスパムのもとになるリビジョンが無いみんなにバージョン管理してもらえる。レポジトリ管理
バックアップ: dump vs hotcopy
dumpの場合。常に単体のリビジョンがチェックアウトされる。hotcopyはレポジトリDBのファイルコピーである。履歴の抹消は避けなければならない
時間がかかる。ワーキングコピーが無効になる。それでも必要なときがある。パスワードや機密情報をコミットしちゃったりするやつが…svndumpfilterには限界がある。もし抹消する必要に迫られたら、抜粋してdumpしてみよう。hotcopy vs rsync: 常にhotcopyを使ってバックアップを作り、できたバックアップをrsyncしよう。コードレビューのススメ
頻繁にコミットしよう。コミットは小さく、個々の塊で。一貫性のあるログメッセージを使おう。チームにコミットメールを送ろう。例: バグ修正、コミット、バグ修正、コミット。ブランチ
怖がらなくていいよ!ブランチの種類
短期のタスクブランチ中期のブランチ長期のリリースブランチリリースポリシーを持とうマージ追跡
人間による管理が必要ログメッセージにはマージを表す内容を書こう。 (編注: うちの場合は “svn merge” した結果を貼ってる)svnmerge.pySubversion 1.5: 真のマージ追跡!
いや、マジで。Subversion trunkから入手できるようになる。6ヶ月以内かな。一つのlocaleへ標準化
全てのファイル名とログメッセージはUTF-8でサーバーに保存される。一つのlocaleで頑張るか、あるいは。Autopropsを使おう
No, the server can’t transmit them to clients. 将来きっとね。実用的なautoprops
svn:mime-typesvn:eol-stylesvn:needs-lockクライアント側での便利なトリック
途中でブランチに切り替えられる
その場で “import”$ cd dataset/Mixing and Matching Components
$ svn mkdir URL
$ svn checkout URL .
$ svn add *
$ svn commit
svn:externals空ディレクトリで svn switchSubversionでウェブサイトを管理
ワーキングコピーを配置.svn/へのアクセスを無効化するpost-commitフックでワーキングコピーをアップデートするsvnversionを使う
$Revision$ キーワードは、あなたが思っているものとは違うこのコマンドはワーキングコピーのリビジョンがもとになる。テンプレートを使う
ほとんどいつも同じファイルの取り扱い
リポジトリにテンプレートをコミットしておくそれをビルドシステムが新規ファイルとしてコピーユーザーはそのコピーを編集する
更新履歴
- 2006-11-17 通りすがり氏からの指摘を反映しました。
- 2006-11-17 Wikiの方での匿名の方の修正(→ 修正内容)を反映しました。
- 2006-11-20 suginoy氏からの指摘を反映しました。

Linux world favorite series" style="border: none;" />
「Subversion」解説書 <バージョン管理システム> Linux world favorite series
このサイトから -人 が購入しました
全体で -人 がクリックposted with amazlet on 06.11.23
Subversion開発プロジェクト 上平 哲 佐藤 竜一
IDGジャパン
売り上げランキング: 179635

おすすめ度の平均:

読みやすいです

Subversionはまずこれを!

やはり書籍は読みやすい


4 Comments