■リポジトリ
リポジトリ内のディレクトリはファイルシステムのディレクトリとは別の概念で、実態はsvnサーバのDB内のオブジェクト
リポジトリはファイルシステム上の一つのディレクトリにリポジトリが一意的に対応する。
svnadmin create コマンドで作成されるリポジトリ内に、svn mkdirコマンドでディレクトリを新規作成できる。
リポジトリ内の既存のディレクトリを svn copy コマンドで複製できる。
論理上は、trunk、branch、およびtagはリポジトリ上のただのディレクトリ。
svn checkoutで作業コピーできる単位はリポジトリ内のディレクトリまたはディレクトリ内のサブディレクトリ。
■疑問
・リポジトリ内のディレクトリをまたいだファイルはリビジョンに関連性はないでOK?
・リポジトリ内のディレクトリのサブディレクトリ内のファイルはリポジトリ内で一意的に決まる?
※リポジトリ内のtrunkディレクトリ配下のdirサブディレクトリのリポジトリ内のリビジョンは常に1つしかないのか?例えば、trunk/dirをチェックアウトした作業コピー内のdirと、trunkをチェックアウトしたtrunk/dirディレクトリは、どの作業コピーに対しても、svn infoの「Revision」の値は同じになるのか?
・リポジトリ内のtrunkディレクトリをbranchesディレクトリ配下に svn copy して複製したディレクトリをtrunkのブランチとして使う場合、branchを切った時点の各ファイルのリビジョン番号からバージョン管理させるにはどうすればいいか?
・上記とは逆に、リポジトリ内のtrunkディレクトリ内のファイルを別のディレクトリにすべてコピーしてリビジョン番号1に振りなおすにはどうすればいいか?
・リポジトリサーバにログインしてリポジトリを直接変更をすることができるか?
[ポイント]
- svnサーバ上のリポジトリはどんな構造になっているのか?
- svnクライアント上のDBとどんな連携をしているのか?
■とりあえずsubversionの入門書読もうか