subversionでできること バージョン管理 競合の解消 ブランチ

10/09/26
subversionによって行えることをまとめてみました。

  1. 基本…バージョン管理
  2. 基本形は以下のような形です。subversionサーバーからプログラムをダウンロードして作業コピーを作成し、その上で作業します。作業後、サーバーにアップロードします。サーバーは元のバージョンからの変更を差分として保管しつつ、バージョン番号を上げます。差分をずっと保管していくため、あるバージョン番号の状況に戻すことも可能です。 subversion用語での言い方…サーバーからチェックアウト(ダウンロード)して作業コピーを作成し、プログラムを修正後コミット(アップロード)する。

  3. 複数人修正による競合の解消、通知
  4. 違うクライアントでそれぞれ別の修正が行われた場合、それぞれの変更をすべて上書きすると、前に変更した分の修正が消失してしまいます。subversionは競合していないかを文字(バイト)単位で調査し、競合していなければ、二つの変更を自動的に統合してくれます。これによりあるファイルの中で、3行目はver.2の変更、6行目はver.3の変更といった形できれいに残ります。文字単位で競合していた場合はコミット時にクライアントに通知し、手修正による解決を促します。 subversion用語での言い方…複数変更があった場合は、その変更をマージ(統合)し、競合があった場合は通知する。

  5. 派生versionの管理と統合
  6. プログラムのある時点から派生バージョンを発生させ、オリジナルとは別のバージョン管理を行うことができます。派生バージョンは独自のバージョン番号を持ち、単体でバージョン管理を行うことができます。ある程度の修正が完了したら、派生バージョンからオリジナルのバージョンに変更をコミットする、もしくは派生バージョンをオリジナルに完全に統合することが可能です。その際、subversionが派生バージョンからオリジナルへ統合をどの程度行っているかを常に記録しており、重複した統合を行わないように管理してくれます。 subversion用語での言い方…トランク(オリジナル)からブランチ(派生バージョン)を発生させ、修正後マージを行うことができる。

ざくっとですが、イメージをつかんでいただけたら幸いです。