0

まだバージョン1.4を実行しているサードパーティのSubversionリポジトリとやり取りしていますが、それらをアップグレードする可能性はほとんどありません。したがって、もちろん、このリポジトリでの私の作業は、これまでに行った中で最もマージが多い作業の一部であり、作業するmergeinfoはありません。

1.4リポジトリでの分岐とマージを追跡するために誰かが推奨できる優れたワークフローはありますか?コミットメッセージやプロパティに何かありますか?他に何かありますか?

4

2 に答える 2

0

David の言うとおりです。Subversion には、1.4 に組み込まれたマージ追跡サポートがありませんでした。ただし、現在の Subversion マージ追跡機能のモデルとなったsvnmergeスクリプトがあります。Python などの一部のプロジェクトでは、それを使用して長期および短期の両方のブランチを正常に維持しています。

プロジェクトによっては、bzr-svngit-svn、またはhg-subversionを使用すると、探しているものに近づく場合があります。IMO、bzr-svn はかなりうまく機能し、ブランチの実際のマージをサポートします (他のブランチではリベース ワークフローを使用する必要があります)。私はいくつかのプロジェクトでそれをうまく使用しましたが、いくつかの注意点があります。たとえば、プロジェクトで外部を使用している場合、これらのツールのいずれも外部をサポートしていないため、これらのツールを使用したスト​​ーリーははるかに魅力的ではありません.

于 2012-10-11T09:07:58.360 に答える
0

Subversion 1.4 固有のマージ追跡はありません。Subversion にはネイティブ API があるため、サード パーティのクライアントにマージ トラッカーが組み込まれている可能性は十分にあります。

1.5 より前では、コミット メッセージの一部としてマージ情報を追加することで、マージを追跡することになっていました。また、プロジェクトのルート以外からチェリー ピッキングとマージを行うことも避けようとしました。そうしないと、物事がかなり複雑になり始めました。

タグを使用してマージ ポイントをマークします。たとえば5.1->trunk、5.1 ブランチからトランクへの最後のマージ ポイントをマークするタグを付けます。SVN ログを調べてマージ コメントを探すよりも、タグを探す方がはるかに簡単でした。

svn:merge-infoSubversion のリビジョンでは使用されていないため、プロパティを使用することもできると思います。標準の svn:mergeinfo プロパティ形式としてフォーマットすると、非常に役立つ場合があります。いつの日か、それらがアップグレードされ、"svn:mergeinfo" プロパティが役に立つかもしれません。

繰り返しますが、これが svn:mergeinfo プロパティを使用すべきではない完全な理由かもしれません。フォーマットを台無しにすると、アップグレードした Subversion の 1.5 以降のバージョンでも警告が表示されます。local:mergeinfoサーバーがアップグレードされるまで(アップグレードされた場合)、次のようなものを使用することをお勧めします。

于 2012-10-10T19:37:32.647 に答える