svn:externals
WindowsマシンでTortoiseSVNをセットアップしようとしています。2つのプロジェクトがあり、両方のリポジトリが同じローカルマシンですでに作成されています。
現在の構造は次のようになります。repoA
、repoB
リポジトリ用、workA
およびworkB
作業ディレクトリ(チェックアウト)用に作成しました。
リポジトリ
Z:\ repos \ repoA
Z:\ repos \ repoB
作業ディレクトリ
Z:\ Projects \ workA \ trunk \ core.php
Z:\ Projects \ workA \ trunk \ lib \ lib01.php
Z:\ Projects \ workB \ trunk \ core_mod.php
Z:\ Projects \ workB \ trunk \ lib \
(フォルダがtags
ありbranches
ますが、質問を簡単にするために省略されています。)
私が達成したいのはworkA\trunk\lib\
、この場合、ディレクトリlib01.php
に自動的にコピーされるファイルです。workB\trunk\lib\
これを設定するために、私が行ったことは次のとおりです。
- チェックアウトし
workA
て割り当てrepoA
、チェックアウトしworkB
て割り当てましたrepoB
workA\trunk
が最新になるようにフォルダをコミットしましたrepoA
。- orederでインポート場所を割り当てるには、フォルダを
workB\trunk\lib
右クリックしてを選択します。workB
TortoiseSVN -> Properties
- クリックし
New -> Externals
てクリックNew...
フォームフィールドに入力
./trunk/lib
します。フィールドに「。」と入力Local path
します。ボタンを押すと、リポジトリブラウザが開き、ターゲットフォルダの選択に役立ちました。URL
file:///Z:/repos/repoA/trunk/lib
...
数回クリック
Ok
して設定ウィンドウを閉じます。外部設定が行われたと仮定しました。- ファイルを作成し、
Z:\Projects\workB\trunk\core_mod.php
- 右クリックし
Z:\Projects\workB\trunk\
て選択SVN Comit
し、に参加workB
しrepoB
ます。
この時点で、lib01.phpはZ:\Projects\workB\trunk\lib
フォルダーに自動的にインポートされますが、何もコピーされないことを期待していました。フォルダSVN Update
を右クリックしてみました。workB\trunk
しかし、workB\trunk\lib
フォルダは空のままでした。
相対パス./trunk/lib
が間違っているに違いないと思います。知らない。私が間違っていることを指摘していただければ幸いです。
アップデート
6a-コミットはWorkingCopyWorkBをリポジトリに変更しました
これは私にとって盲点でした。右クリックしZ:\Projects\workB
て選択SVN Commit...
すると、次のエラーが発生しました。
[OK]ボタンをクリックすると、すぐにフォルダを更新するかどうかを尋ねるダイアログウィンドウが表示され、[OK]をクリックしました。その後、TortoiseSVNが更新Z:\Projects\workB
を開始し、このエラーが発生しました。しかし、この後、私が再コミットしたときZ:\Projects\workB
、それはエラーなしで通過しました。
(あなたの場合の「trunk / lib」はより防弾になると思います)。
おかげでProperty
、workB
フォルダを再選択してのEdit
ボタンをクリックするとsvn:externals
、TortoiseSVNは自動的にに調整さ./trunk/lib
れましたtrunk/lib
。今ではそうなるように設定されています。
6b-RepoBでrepobrowserを使用してテストします(最速の方法)、その定義は正しいです
右クリックしZ:\repos\repoB
て選択TortoiseSVN -> repo-browser
し、トランクフォルダを参照しました。次のようになります。正しく見えますか?私はこの仕事に取り組んだことがなかったので、本当にわかりません。トランクフォルダの下のlibフォルダはリポジトリブラウザで空です。
フォルダはZ:\Projects\workB\trunk\lib
まだ空です。エラーメッセージは「Z:\ Projects \ workB」を再配置することを提案していますが、それが何を意味するのかわかりません。