ホームに戻る
出典 :
[Subversion] svn:externals で外部リポジトリを取り込む | バシャログ。 svn:externals - うなの日記
関連 :
外部エディタの設定
目次 :

Subversionにおける外部参照とは

あるリポジトリが別のリポジトリの内容を参照すること。
あるリポジトリ(A)に別のリポジトリ(B)で管理しているファイル(またはフォルダ)を含めたい場合、
そのままコピーしてAとBで同じファイルを管理すると二重管理となり、ファイル間の同期が取れなくなる恐れがあるとともに、リポジトリを無用に圧迫してしまう。
外部参照を用いることでファイルの管理を(Bに)一元化できるため、これらの問題が解消できる。
参照先のリポジトリ (ProjectFoo) file:///Server_Foo/Somewhare/SVN_Rep/ProjectFoo ├ Folder01 └ Folder02 ├ Filemm └ Filenn 参照元のリポジトリ (ProjectBar) file:///Server_Bar/Somewhare/SVN_Rep/ProjectBar ├ Folder0x └ Folder02 ⇒ ProjectFoo の Folder02 を参照したい ├ Filemm └ Filenn

設定手順

コマンドライン

単一のシンボルを設定する場合

コマンド svn propset を用いる。
(外部エディタを設定している場合は、後述の svn propedit を用いる手法が簡便。)
"C:\(略)\ProjectBar" (プロパティの設定先 : ディレクトリ) にある "Folder02" (シンボル) が "file:///Server_Foo/Somewhare/SVN_Rep/ProjectFoo/Folder02" (参照先URL) を指す」
svn propset svn:externals ""Folder02" "file:///Server_Foo/Somewhare/SVN_Rep/ProjectFoo/Folder02"" "C:\(略)\ProjectBar"
コマンド・サブコマンド svn propset
対象プロパティ svn:externals
プロパティに設定する値
(二重引用符で囲む必要がある)
""Folder02" "file:///Server_Foo/Somewhare/SVN_Rep/ProjectFoo/Folder02""
シンボル(参照元)
(プロパティ設定先ディレクトリからの相対パス)
"Folder02"
参照先
(リポジトリURL)
"file:///Server_Foo/Somewhare/SVN_Rep/ProjectFoo/Folder02"
プロパティの設定先(ディレクトリ)
(リポジトリURLまたは作業コピーパス)
"C:\(略)\ProjectBar"

複数のシンボルを設定する場合

コマンド svn propedit を用いるとともに、外部エディタを用いてプロパティの設定を行う。
事前に外部エディタを設定しておく必要がある。
svn propedit svn:externals "C:\(略)\ProjectBar"
コマンド・サブコマンド svn propedit
対象プロパティ svn:externals
プロパティの設定先(ディレクトリ)
(リポジトリURLまたは作業コピーパス)
"C:\(略)\ProjectBar"
コマンド入力により外部エディタが開くので、シンボルと参照先をエディタ上で入力、保存して閉じることで設定が反映される。

TortoiseSVN

(書きかけ)