address:書籍「WiiRemoteプログラミング」(2009年7月末刊行)の特設サイトもどうぞ。人のユーザが現在オンラインです。†ソースコードバージョン管理システム。Safe(VSS)が有名であるが、オープンソース(Apache/BSD-styleライセンス)で開発されており、CVSをリプレースすることを目標として開発されている。†とりあえず、軽く使ってみた経過。†http://tortoisesvn.tigris.org/実はSubversionが楽だ、というほとんどの原因はこのシェルに統合されたクライアントソフトのおかげともいえる。アイコン表示が非常にわかりやすい。私がSVNを使い始めた理由はSpringheadが使い始めたから。SVN黎明期のドキュメントであるがさまざまな環境、特に研究室やLANではないグループでの開発の例が参考になるとおもいます。†タダでOpenSVNのリポジトリが作成・利用できる。パスワードもかかるしHTTPSだけど、親サイトからしてわけわからんし、見事なまでの「オレオレ証明書」。こんなところに大事なものを置いて良いのでしょうか?何度か使ったことがあるのですが、あくまでSVNのお試しだと思ったほうがよいと思います。「ソース管理」ではなく「サイト管理」。Webサイトのソースコードマネジメントとしてもかなり便利であることがわかる。実はLinuxである必要はない。LAN内のWindowsでもセットアップ可能なはず。グローバルな開発をしないのであれば、これで良いんじゃないかとおもう。†この場合は、Linuxサーバ上にsvnというユーザを作ってそのホームディレクトリに複数のリポジトリを作成するような運用を想定している。/home/svn/GPUVision/conf/svnserve.confここでsvnserve.confを以下のように修正する。書き込み可能、パスワードファイル名を指定、というだけのことです。あとはパスワードファイルを作成。(password)という書式。パスワードは特に暗号化されてません。†SVNのプロトコルで、リポジトリのURLを示すときに使われる。アクセスの仕方によって、「svn+ssh://」という表記もある(SSH認証)。†Apacheのような巨大なデーモンではなく、ユーザアプリケーションとして動くツール群なので、特に気にする必要はないが、管理上svnというユーザとグループを作っておけばよいのでは。†svnのサーバプログラム「svnserve」が読み書きできないようなパーミッションでは当然ながら、SVNクライアントがアクセスしても失敗する。SVNプロトコルは単に、SVNクライアント→svnserve→ファイルアクセスしているだけなので、svnserveを誰が起動したか、で決まることに注意。各リポジトリのアクセス権限を設定する。全リポジトリではない。設定によっては誰でも読み書き可能なリポジトリが出来てしまうことに注意。rootで実行するのはセキュリティの視点から、危険だと思う。起動スクリプトが同梱されていないので注意。以下、VineLinux?の例。0ってゆかWebminで設定しただけですが。上記をよく読んでいただくと判ると思いますが、svnを実行するユーザに、リポジトリのファイルを実際に触れれて変更できるパーミッションが必要です。うかつにrootでリポジトリを作ったりすると面倒なことになったりします。サービスへの追加はデフォルトではついてきませんが、この方が便利だと思います。本家TortoiseSVNからカメ種のSVNを入手。日本語情報サイトを読んで基本的な使い方を学ぶ。OpenSVNをおそるおそる使ってみるのもよいかもしれん。†レポジトリSVNのデータベースのこと。SVNでは格納形式にBerkeleyDBとfsfsが選択できる。デフォルトはBerkeleyDBだが、初心者にはFSFSのほうがわかりやすい。BerkeleyDBミニデータベースシステム。MySQL-Maxバイナリの下層でトランザクションストレージエンジンとしても働いている。1.1からサポートされた。--fs-type=fsfsで指定できる。OpenSVN無料で使えるSVNレポジトリ提供サイト。リスクあるので、使うなら単なるSVNの機能の確認だけにとどめるべきだろう。自分の証明書は正しいと言い張る第三者機関の認定のない証明書。テストなら良いけど、HTTPSとしては無意味。オレオレ詐欺によく似ているのでこう命名された。OpenSVNがそれ。†MLのアーカイブより抜粋。異常終了時のリポジトリ破壊を防げるリポジトリサイズの軽減FSFSは差分で保存する。リポジトリよりも小さい(減少率10-20%程度)。標準的なバックアップソフトウェアが利用できる差分バックアップすれば効率的。リポジトリを複数のスプール上に分散できるリポジトリが大きくなりすぎた場合、別のファイルシステムにシンボリックリンクすることができる。コミットよりも速いが、FSFSコミットのより多くの処理は最終ステップまで持ち越される。(数万個のファイルのような)非常に大きなコミットではこの最終ステップは数分の遅延を起こす可能性がある。クライアントがタイムアウトしてしまう可能性もある。リポジトリに対してたくさんのコミットが発生する場合、書き込みロックを待つ他のプロセスがどんどん蓄積されてしまう可能性がある。コードの正確さ新しい実装なので。2006年2月現在のSubversionは1.3.0。新しいとは言わないだろう。