开发者

How to split Visual Studio project into 2 separate applications (that won't be merged back again) in Tortoise SVN?

I have application written in C# WinForms developed in Visual Studio 2010 Professional. I am only developer of this application and I use Tortoise SVN for it. Application is hitting 200k lines and I want to split it into 2 different programs (even change naming of application) as actually application supports 2 different companies/departments so it would be better for me to have them as separate projects. At time of projecting the app it was easier to start since I have used code from old application and added more code to support other company/department hence it was build as one project. But now since the application is mature enough I would like to split it into two or even 3 projects as it no longer makes sense.

How can I do that? Will branching help with this? I read that it's to test out features and merge back again but it's not something I want. At best I would like to have 2-3 separate directories so I was even thinking of simply copying application sources multiple times and delete Tortoise SVN files from the copied applications so I开发者_如何转开发 could change their names and Commit them again into Tortoise SVN as new applications and then slowly cut out unnecessary code.


You can branch and then delete in one branch half the project and delete in the other branch the other half of the project, or you can duplicate the repository and do the same (but then you'll lose the "option" of merging back some files), or you can simply have 1 repository for two solutions. You create an empty solution and begin adding projects/files.

In the end there isn't a single "perfect" solution. But none of these three solutions are inherently "worse" than the others.

I'll add that if you split the repositories and then want to "clean" their history a little, it could be complex. As written here: http://subversion.apache.org/faq.html#removal it's complex to remove a file + file history (obliterate as they call it) from a repository.


I would just make two new branches. Then you have the history, and you can compare your current working version against the original.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜