Visual SourceSafe(以下VSS)とSubversion(以下SVN)は、バージョン管理のモデルが異なります。ここをふまえるとVSS⇔SVNの移行がスムーズになります。
VSSのバージョン管理モデル
- ロックモデル
- ファイルを変更する前にファイルをロックし、他のユーザーが変更できないようにします。
SVNのバージョン管理モデル
- マージ修正モデル
- ファイルをロックしないので、変更中のファイルを他のユーザーが変更することができます。複数ユーザーによる更新の衝突が発生した場合は、ユーザーが手動でマージする必要があります。(実際のところ更新の衝突は滅多に発生しません)
コマンド対比表
コマンド名が紛らわしいので、簡易対比表をつくってみました。
アクション | VSSのコマンド | SVNのコマンド |
---|---|---|
リポジトリのファイルをローカルに取得 | 最新バージョンの取得 | 更新 |
変更ロックの取得 | チェックアウト | なし(ロックをかけない) |
ローカルとリポジトリ間の差分抽出 | プロジェクトを選択して「相違点の表示」 | リポジトリとの同期化 |
ローカルの変更をリポジトリに反映 | チェックイン | コミット |