プログラマーな日々

プログラマーをやっています。好きなものは、C#, TaskChute Cloud, WorkFlowy, Backlog, AWSです。

Visual SourceSafeとSubversionの違い

Visual SourceSafe(以下VSS)とSubversion(以下SVN)は、バージョン管理のモデルが異なります。ここをふまえるとVSS⇔SVNの移行がスムーズになります。

VSSのバージョン管理モデル

ロックモデル
ファイルを変更する前にファイルをロックし、他のユーザーが変更できないようにします。

SVNのバージョン管理モデル

マージ修正モデル
ファイルをロックしないので、変更中のファイルを他のユーザーが変更することができます。複数ユーザーによる更新の衝突が発生した場合は、ユーザーが手動でマージする必要があります。(実際のところ更新の衝突は滅多に発生しません)

コマンド対比表

コマンド名が紛らわしいので、簡易対比表をつくってみました。

アクション VSSのコマンド SVNのコマンド
リポジトリのファイルをローカルに取得 最新バージョンの取得 更新
変更ロックの取得 チェックアウト なし(ロックをかけない)
ローカルとリポジトリ間の差分抽出 プロジェクトを選択して「相違点の表示」 リポジトリとの同期化
ローカルの変更をリポジトリに反映 チェックイン コミット