これは、Subversionで最終的に達成したいものによって大きく異なります。バージョンコントロールを使用すると、開発の繰り返しの間の変更を追跡できます。最も基本的なレベルでは、以前のバージョンのコードにロールバックして変更を効果的に取り消すことができます。
バージョンコントロールがあなたのコード用の記憶媒体になると思っていますが、これ以上のことがあります。複数のユーザーがコードを変更しているときに最も強力です。ブランチングは、その機能を提供します。
あなたの質問に答えて、あなたのコードが現在のバージョンから新しいバージョンに移行すると考えているならば、バージョン管理では必要な機能が提供されます。アプリケーションの卸売りを置き換えている場合は、バージョン管理システム内の履歴を追跡することが正しい解決策であるかどうか質問します。
アプリケーションの2つのバージョンが根本的に異なる場合、エンドポイントは同じですが、それらは同じアプリケーションではないと主張できます。彼らが共通のコードを持ち、ゆっくりと別のアプリケーションに移行する場合、バージョンコントロールが可能な解決策になります。
質問に対する回答は、おそらく「それは依存している」でしょう。バージョンコントロールはあなたのために何をしますか?なぜアプリケーションを最初にバージョンコントロールに入れたのですか?これらの質問に対する回答が新しいバージョンにも当てはまり、あるバージョンから次のバージョンへのアプリケーションの進化に批判的に当てはまる場合、分岐/マージはおそらく正しいソリューションでしょう。
ちなみに、アプリケーションの唯一の開発者であれば、ブランチの進行中にトランクを維持する必要がなければ、実際に分岐してマージする必要はありません。これは、トランクが本番環境のどこかにあり、ブランチを開発するときにバグ修正を適用する必要がある場合に当てはまります。
最終的な(少し接線の場合)ポイントは、ブランチとトランクは基本的にSubversion内のサブフォルダだけです。いずれかの方法でマージすることができます(トランクをブランチに、ブランチをトランクに)。
私はこのアプリケーションの唯一の開発者です。しかし、私はMVC3のバージョンがQA準備が整うまで、現在のプロジェクトを分岐して保持する必要があります。私は自分のシナリオを扱うための「最良の方法」を知らなかった。 OndrejとAndrewはどちらも私の懸念に取り組んだ。 これまでのところ、私のアプリはバージョン管理されているのですか?なぜなら私はVCなしでやってしまったし、大きな書き換えを行うだけのミスしかしなかったからです。 VCは私に: - 記憶媒体を集中させる。複数のワークステーションで作業コピーを同期させる。 - 任意のミスから復旧する能力 - TeamCityとSVNを使用したビルドと展開の自動化。 – Nasir