SVNでブランチし、svn:externalフォルダーもブランチするにはどうすればよいですか?
-
05-07-2019 - |
質問
Windowsで亀svnを使用しています。
どうすればSVNでブランチし、svn:externalフォルダーもブランチできますか?
解決
svn:externals
は、異なるリポジトリからの external 参照として使用する必要があります。したがって、 svn:externals
はコンポーネント、モジュール、サードパーティツールなどを参照する必要があります。
外部を使用して同じリポジトリを指すことにより、 svn:externals
を使用して「シンボリックリンク」動作をエミュレートするしない必要があります。
ほとんどの場合、ビルド構造を変更するか、チェックアウトスクリプトとスパースチェックアウト機能を使用して、このような問題を解決できます。
svn:externalsには多くの問題があり、それらのほとんどは表示、追跡、修復が困難です。 こちらの例を参照
- コミットは外部にまたがることはできません(アトミックコミットなし)
- ブランチは外部から分岐しません(あなたが指摘したように)
- タグは「フリーズ」しません後者のビルドでは異なる/壊れたビルドになる可能性があるため、それらの外観
- マージと再統合マージは外部では機能しません
外部を使用して他のリポジトリを指す場合、ほとんどの場合これらの問題は発生しません。
他のヒント
外部リポジトリに手動でブランチを作成してから、正しいブランチを指すようにsvn:externalプロパティを変更する必要があります。
Subversion内でブランチを作成するときは、ブランチ元のトランク、ブランチ、またはタグの安価なコピーを作成するだけです。この安価なコピーには、新しいブランチのプロパティまたはファイルの変更を開始するまで、分岐元のトランク、ブランチ、またはタグと同じファイルとプロパティがすべて含まれます。
ただし、ブランチをコミットすると、「コミット」フックの1つを変更して設定を自動的に変更できる場合があります。 http://svnbook.red-bean.com/en/1.1/ch05s02.html
それ以外の場合、ブランチで外部を変更する場合は、手動で変更する必要があります。
現在、相対的な外観があります。ただし、知っておく必要があります:) すぐにそれらを使用しています-いくつかの問題を解決している最中に、進行中です。 プロジェクト内に相対的な外観を作成した後、プロジェクトにタグを付けました。 今のところは奇妙です-ブランチをチェックアウトすると、外観はリビジョン「トランクのトップリビジョン」からのものであると通知されますが、外観自体は元のものです-これは私が欲しいものです:)