views:

50

answers:

1

We have a framework created in .NET which controls hardware devices. The entire framework uses MEF so it relies heavily on interfaces.

For reasons beyond our control we had to change the hardware and that required some breaking changes to some of the interfaces.

The project for the old hardware was put on hold for a while and we started working on a graphical application which uses the new version of the framework.

Now, much later, they want us to support the old hardware again, so we're thinking of backporting the existing graphical application to use the old framework and maintain two versions.

The framework is one Visual Studio solution with multiple projects, and the graphical application is another Visual Studio solution with a few projects.

Some parts (projects in the framework solution) did not rely on changed interfaces, others did.

For source control we have a subversion repository.

Has anybody had any experience with managing something like this? Are there any best practices? Suggestions?

+1  A: 

This is a prime canditate to create a branch. Have a main repository with the trunk of the code, and a branch for each different set of hardware that you need. This will make it easy for you to code things that will need to be done for both versions of the codebase, while keeping their intricacies independent.

Mike Trpcic
I've been trying to get this to work with tortoisesvn and all it says is ok... but I don't see anything happen. The folder where I created the branch remains empty even after a switch and commit... really scary
TimothyP