0

私は SVN を初めて使用します。StarTeam 5.4 を使用しており、できるだけ早く SVN に変更する予定です。SmartSVN をクライアントとしてテストしています。

リポジトリ、1 つのファイルを含むトランク、およびブランチを作成しました。ブランチで、ファイルを変更してチェックインし、この変更をトランクに「公式化」しようとしています。

問題は、「再統合マージ」を使用すると、ファイルがフォルダーにコピーされますが、リポジトリで更新されないことです。次に、もう一度チェックインする必要があります。トランクにリビジョン 3 のファイルがあり、ブランチにリビジョン 2 のファイルがあります。

これはどのように機能しますか?2 つのフォルダーにリビジョン 2 の同一のファイルが存在することは想定されていませんか? または、少なくとも同一のリビジョン 3 ですか?

4

3 に答える 3

2

仕組みだけでなく、機能です。マージを明示的にコミットすることを強制することで、マージ中に何かひどく問題が発生した場合に、すべての変更を元に戻し、最初からやり直すことが簡単になります。マージは常に作業コピー操作であり、チームに変更を加える前に変更を確認 (およびテスト!) できるようにします。

また、SVN はファイルのバージョンを追跡しません。SVN は、任意のブランチまたはタグで、リポジトリ内のすべてのファイルの一連のスナップショットを追跡します。これらのスナップショットは「リビジョン」と呼ばれます。「トランクにリビジョン 3 ファイル」と「ブランチにリビジョン 2 ファイル」がありません。トランクにファイルがあり、ブランチにファイルがあります。どちらのファイルもリビジョン 2 とリビジョン 3 の両方に存在します。トランクでは、ファイルへの最後の変更はリビジョン 3 でした。ブランチでは、そのファイルへの最後の変更はリビジョン 2 でした。SVN では、"リビジョン 4 のファイル」という言葉は、「リビジョン 4 の場所に表示されたファイル」よりも簡単に言うことができるので、ほとんどの場合、このように言うでしょう。

于 2014-01-09T15:02:31.597 に答える
0

このユーティリティを使用して、あるブランチから別のブランチへの svn マージを自動化できますhttp://github.com/liveperson/Auto-Merger

于 2014-01-09T14:38:27.573 に答える