2011-10-10 72 views
0

我有用Visual Studio 2010 Professional开发的C#WinForms编写的应用程序。我只是这个应用程序的开发人员,我使用它的Tortoise SVN。应用程序打了20万行,我想将它分成2个不同的程序(甚至改变应用程序的命名),因为实际应用程序支持2个不同的公司/部门,所以我最好把它们作为单独的项目。在投影应用程序时,由于我使用旧应用程序的代码并添加了更多代码来支持其他公司/部门,因此它更容易启动,因此它被构建为一个项目。但是现在由于应用程序已经足够成熟,我想将它分成两个甚至三个项目,因为它不再合理。如何在Tortoise SVN中将Visual Studio项目拆分为2个独立的应用程序(不会再合并)?

我该怎么做?分支会帮助吗?我读过它是测试功能并重新合并,但它不是我想要的。充其量,我想有2-3个独立的目录,所以我甚至考虑简单地复制应用程序源多次,并从复制的应用程序中删除Tortoise SVN文件,以便我可以更改它们的名称并将它们作为新应用程序再次提交到Tortoise SVN中,然后慢慢删除不必要的代码。

回答

2

您可以分支,然后在一个分支中删除一半项目,并在另一个分支中删除项目的另一半,或者您可以复制存储库并执行相同操作(但是您将失去“选项”合并一些文件),或者您可以简单地拥有两个解决方案的一个存储库。您创建一个空的解决方案并开始添加项目/文件。

最后没有一个“完美”的解决方案。但是,这三种解决方案都不会比其他解决方案本身“更糟糕”。

我会补充一点,如果您拆分存储库,然后想“清理”一下它们的历史记录,那可能很复杂。如下所示:http://subversion.apache.org/faq.html#removal从存储库中删除文件+文件历史记录(obliterate,因为他们称之为)很复杂。

+0

看起来更容易的事情是将项目目录复制2次,然后从Tortoise SVN文件中清除它们,然后再将它们作为新项目提交。这样所有的历史等都消失了,就像2个新项目一样。 – MadBoy

+0

@MadBoy但是,正如你所说,你失去了所有的历史。我一直认为历史是VCS最重要的部分。没有历史什么是VCS?一个分支和合并的工具? – xanatos

+0

考虑到它只会失去2个新的项目,第一个与所有的历史保持一致,这对我来说应该没有问题。 – MadBoy

1

我只会做两个新的分支。然后你就有了历史,你可以将你当前的工作版本与原始版本进行比较。

+0

我可以很容易地区分我正在工作的是哪一个?像更改项目名称一样,也许有2个不同的目录? – MadBoy

+0

使用不同的目录。 –

相关问题