这在很大程度上取决于您希望使用 Subversion 最终实现的目标。版本控制使您能够跟踪开发迭代之间的更改。在最基本的层面上,它使您能够回滚到代码的先前版本并有效地撤消更改。
听起来(如果我误解了,请道歉)您认为版本控制是您代码的存储介质,但它可能远不止于此。当多个用户对代码进行更改时,它最强大。分支部分地为您提供了该功能。
在回答您的问题时,如果您认为您的代码将从当前版本演变为新版本(尽管有重大的架构更改),那么版本控制将为您提供所需的功能。如果您要替换应用程序批发,那么我质疑版本控制系统中的跟踪历史是否是正确的解决方案。
如果应用程序的两个版本根本不同,则可以说它们不是同一个应用程序,尽管终点是相同的。如果他们有共同的代码并且会慢慢地变成一个不同的应用程序,那么版本控制将是一个可能的解决方案。
所以这个问题的答案可能是:“这取决于”。版本控制为您做什么?为什么首先将应用程序置于版本控制中?如果这些问题的答案仍然适用于新版本,并且至关重要的是,适用于应用程序从一个版本到下一个版本的演变,那么分支/合并可能是正确的解决方案。
顺便说一句,如果您是应用程序的唯一开发人员,那么除非您需要在分支进行期间维护主干,否则实际上不需要分支和合并。如果主干在某处生产并且您需要在开发分支时应用错误修复,则可能会出现这种情况。
A final (if a little tangential) point is that a branch and the trunk are basically just subfolders within Subversion. You can merge either way (trunk to branch, or branch to trunk).