New project reusing existing project core, branch or new project?
My question is pretty similar to this one.
I am working in company that has a client specific application. The current development team (around 10 persons) is actively working on it, and the core of the application is also often modified/updated.
I am in charge of a a new project, this application will reuse the business logic of the existing one (client specific), and I'll probably need to reorganize, rename and generalize a lot of the existing code (types, file names, etc...).
The team currently uses Subversion, for me it seems right to create a new project based on the core of the existing one, then modify it, since the aim of the two applications will be very different. The only matters concerns the fact I would like to benefit of t开发者_StackOverflow中文版he recent update/correction and improvement made in the existing project, but I don't see clearly how this could be done knowing I'll have either a new branch (with a lot of changes in file names, functions header and so on), or a new project.
I am pretty new to subversion or revision control used in the context of "architecture" changes or evolution. Thank you in advance.
I would go for a new repository as you say it will be a separate development track.
You can either just import your files into an empty repository or create a server side copy of your old repository.
You can till merge between different repositories, if you have changes that you want to merge between the two.
If you have some things that will remain common, like logging modules or shared GUI controls you can break that out to a third repository called Shared and include the Shared repository with svn:externals
. Note that this requires collaboration between the two products, if you change too much to fit one product you may break the other in the process and make the different product teams angry at each other.
精彩评论