B
bryanp10
I've got a situation that I've not encountered before, but that I'm
quite sure other folks have: How do you manage application
customizations for an existing application without unduly impacting
the main code?
We'd like to be able to do one-off customizations for customers, but
not include this potentially destabilizing code in our main branch.
However, branching off the entire source tree seems inefficient, as
well as creating a logistical problem if we have to go back and fix
bugs for this client.
I've got an application that we've recently moved to ASP.NET. SQL
Server backend. Previous work on this app had quite a bit of
customized spaghetti code in it... "if CustomVersion ==
"BLAHBLAH" { do this instead! }". Clearly this is undesirable on many
levels, not the least of which is an "Oh my god I can't believe we did
that" sort of feeling.
What I think is my best option right now is to create a
"customizations" branch in source control, and store just those files
that will change for a particular customer. The downside of this is
that the build process will have to be updated to accomodate it, it
makes development/test more difficult, and still has the problem of
these files getting out of synch with main branch fixes.
However... I haven't been able to come up with a really clean solution
to what must be a common problem. How have other folks handle it?
quite sure other folks have: How do you manage application
customizations for an existing application without unduly impacting
the main code?
We'd like to be able to do one-off customizations for customers, but
not include this potentially destabilizing code in our main branch.
However, branching off the entire source tree seems inefficient, as
well as creating a logistical problem if we have to go back and fix
bugs for this client.
I've got an application that we've recently moved to ASP.NET. SQL
Server backend. Previous work on this app had quite a bit of
customized spaghetti code in it... "if CustomVersion ==
"BLAHBLAH" { do this instead! }". Clearly this is undesirable on many
levels, not the least of which is an "Oh my god I can't believe we did
that" sort of feeling.
What I think is my best option right now is to create a
"customizations" branch in source control, and store just those files
that will change for a particular customer. The downside of this is
that the build process will have to be updated to accomodate it, it
makes development/test more difficult, and still has the problem of
these files getting out of synch with main branch fixes.
However... I haven't been able to come up with a really clean solution
to what must be a common problem. How have other folks handle it?