2

SVNエクスターナルを使用して、異なるプロジェクト間でコードファイルを共有したいと思います。その機能について質問する必要がありますが、状況を説明してみましょう。

  1. SVN上に「A」と「B」の2つのプロジェクト(ディレクトリ)を作成しました。
  2. 「A」には他のプロジェクト間で共有されるファイルが含まれており、そのうちの1つは「shared.txt」という名前です。
  3. 「shared.txt」は「B」にリンクされています(「B」のsvn:externalsプロパティを使用)。
  4. それとは別に、「B」には他のソースコードファイル(完全なプロジェクト)が含まれています。

さて、質問です。'B'の古いリビジョンをチェックして、'shared.txt'のどのリビジョンを使用するかを調べました。残念ながら、テストリポジトリからダウンロードした「B」の履歴リビジョンに関係なく、常に最新バージョンの「shared.txt」を入手しました。

数ヶ月前からプロジェクト「B」をダウンロードしたいとします。これらの月の間に、「shared.txt」は多くの変更を受けました。しかし、数か月前のプロジェクト全体を、その特定の時点の外部と一緒にダウンロードしたいと思います。

それぞれの外部の適切なリビジョンを手動で探すことなく、それは可能ですか?特定のバージョンの外部をテストプロジェクト「B」に関連付けることができることは知っていますが、これは解決策ではありません。そうすると、「B」の最新リビジョンをチェックしても、最新の外観にアクセスできなくなると思います。私は正しいですか、それとも間違っていますか?

ご協力いただきありがとうございます(私の質問がすでに出されている場合は申し訳ありませんが、同様の質問は見つかりませんでした)。

4

1 に答える 1

2

はい、この形式の質問は少し前にここで尋ねられました(smth。「superrepoURLのsvn up -r {DATE}の場合、外部の更新にこの日付を使用します。HEADにリンクされている場合」)、まだそうではありません。いい答えだ

発見された答えは、「cdすべての外部WC / directory-externals /にアクセスsvn up -r {DATE}し、同期状態を取得する必要がある」というものでした。file-repoに回答していません

代替ソリューション

開発中のアクションが増え、タイムバックのあるアクションが減る

  • 常にPEGリビジョンで外部を定義する
  • コミットを監視します(したがって、トップリビジョンを変更します)
  • external-commitの後、追加のcommitを使用して外部定義の変更を実行します(おそらく、repo-externalのpost-commitフックでスクリプト化できます)

ASFのFR「マスターリポジトリでの{DATE}操作のサブリポジトリの再帰処理」が役立ちます

于 2012-11-08T23:29:07.527 に答える