0

いくつかの共有ライブラリがあり、これらはさまざまなプロジェクトのすべてのタグ付きバージョンで静的外部として参照されています。

共有ライブラリのディレクトリ構造を再編成した後、タグ付けされたすべてのバージョンでエラーが発生するようになりました。動作リビジョン (-r X) の代わりにペグ リビジョン (@X) を使用して、外観を参照する必要があることに気付きました。

何百ものタグ付きバージョンがあり、これらの中に 2 ~ 3 の異なる外部参照があります。

/main/projectX/tags/ フォルダーで外部定義を操作からペグに再帰的に変更するにはどうすればよいですか? 仕事を行うには、ある種のシェルスクリプトが必要になると思います。

4

1 に答える 1

0

以下を実行してこれを解決しました。

svn propget svn:externals -R http://repoURL

出力は、次の内容の svnmucc 制御ファイルを作成するための出発点として使用されました。

propset
svn:externals
^/external-source external-target
http://repoURL
propset
svn:externals
^/external-source2 external-target2
http://repoURL

そして、これを実行してレポに適用しました:

svnmucc -m 'Changing externals from operative to peg' -X controlfile.txt

propget の出力は svnmucc 形式とはかなり異なっていたので、いくつかの手作業を行う必要があり、ほとんどの反復作業を行うために小さな PHP スクリプトを作成しました。

svnmucc を使用してできなかった唯一のことは、同じフォルダーに複数の外部ファイルがあることでした。どうやら、svnmuccは同じ target に複数行のプロパティを設定できません。しかし、私たちのリポジトリにはそれらのいくつかしかなかったので、TortoiceSVN リポジトリ ブラウザを使用して手動で修正しても問題ありませんでした。

于 2013-09-23T15:08:20.830 に答える