Create a copy of an application...

SteveoAtilla

Regular
Joined
Dec 22, 2004
Messages
80
Location
The Frozen Tundra
Hello!

I have a large application in production at a customer site, but we are beginning Phase II of development on this site.

Here's the problem.

I will continue to support the existing production application while development proceeds on Phase II of the app. As development on Phase II proceeds, the users will (
eek.gif
GASP!!!
eek.gif
) continue to find small (and not-so-small) bugs (no, those are features) in the production application.

What I need to do is create a development copy of the application, while still being able to edit, test and debug the production application.

How do I do that? ASP (VS.NET 2003) does not give me an option to copy the application.

Thanks,

Steveo
 
Use a version control system!!!!

Check out CVS (CVSNT for Windows) or Subversion. Specicially look up branching and merging.
 
mskeel said:
Use a version control system!!!!

Check out CVS (CVSNT for Windows) or Subversion. Specicially look up branching and merging.
While version control is an excellent idea, it does not solve the problem that I asked about.

I need to take my application (call it TravelApp), and create a snapshot of that site and create a site called TravelAppDev. The customer will then have two sites on their web server. I need to have two projects (solutions, whatever you want to call them) in VisualStudio.

Microsoft does not appear to have given us this functionality.

I have tried to create a new Project, and then Add Existing Items, but I have numerous errors when I try that.

Do I need to simply keep renaming folders (TravelApp renamed to TravelApp-Production, and then TravelApp-Development renamed to TravelApp to edit the Development site) to manage this?

How have others managed support of a Production system while developing "Phase II" of the same site?

Thanks,

Kahuna
 
SteveoAtilla said:
What I need to do is create a development copy of the application, while still being able to edit, test and debug the production application.
Sorry...I must have been confused...;)

Version control systems serve two purposes. First it gives you a way to preserve changes that you make to a project throughout the lifetime of the project. This is great because in case you accidentally delete something or really mess something up, you can roll back to a previous state of your project. Second, and more importantly, version control systems allow you to create branches in your project so that you may continue to develop and make changes while at the same time maintaining releases and experiments AND staying in sync with the main development branch.

A typical scenario is one where you do all of you primary development in the head branch and create a new branch for each public release (when you see branch read sophisticated copy). This way, when users find bugs in your code in the wild you have an opportunity to fix the bugs and release patches. Meanwhile, you're forging ahead, adding the next big feature for the next release but this bug is in both branches of the system. Once you make the fix in the released branch, you merge the fix into your primary development branch. This way you only have to fix the bug once.

As you can see this is much better than copying folders, though deep down, that is really all that is going on. The benefit is that you have a tool to do all the copying for you (it's more sophisticated to take up less space on your hard drive) and you have additional tools for diffing, branching, merging, and working concurrently with other developers (in the future).

And because a picture is worth a thousand words see the attached picture I whipped up which demonstrates the main concepts of branching and merging pretty well.

Version control will do everything you need it to do and in fact, you're already doing it, just the hard way.
 

Attachments

Back
Top