Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8434481
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 10, 20262026-06-10T06:40:06+00:00 2026-06-10T06:40:06+00:00

We are presently using TFS 2010 to manage our Source Control(MS shop so it

  • 0

We are presently using TFS 2010 to manage our Source Control(MS shop so it was the default choice).

We have no problems with it for our standalone projects. However we have a core product that we bespoke on a per client basis. Many clients require quite significant customizations, others only a few minor tweaks.

We are finding that it is a nightmare. We basically have a Team Project which contains the Core Product. If a client needs no changes they just get the core product deployed. If they ask for changes we branch the core product team project and start working on that.

So a single file needing changes requires then we branch the whole product. Are we doing this wrong? I kind of pictured we would create a branch that contains differences from the main product that each client needs. Then basically the client would get the core + any changes they require. Then if we add to the core or change it then they just get that automatically.

We are constantly developing the core so we seemed to spend our lives merging changes into all the branched projects. We presently have 5 clients but have 15-20 in the pipeline in the next year. However this would seem totally unmanageable given the work we are doing on 5. Our lives as programmers seem to be just merge after merge. Now this is partly as the product is quite new so there is a lot of churn for core. However we will always want to keep developing core. The problem is none of us have ever worked on a project like this so we just have no idea if this is how we should be handling it.

Does anyone have any thoughts?Really appreciate any suggestions as this whole core/branch/endless merge makes us sad. Someone suggested to one of my colleagues that git would help we would look at anything.

Thanks

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-10T06:40:07+00:00Added an answer on June 10, 2026 at 6:40 am

    If your base product and your branched products have different versions of the same files, you’ll end up with merges no matter what source control product you’re using. Some (Git for example) make branching and merging fairly easy, some (like TFS) make it a pretty heavy operation, but the merges still have to be done.

    One strategy that makes it quite a bit easier to handle is to break the code up into more manageable pieces (SOLID comes to mind) and break out any adaptions into customer specific classes. If there are separate files for the customer adaptations and the classes can be injected using just a configuration change, there won’t be as much reason to branch for customer specific changes at all. The worst a change to a customer specific class can do is to break the customer you’re developing for. That will keep branching for versioning (ie dev/test/release branches), but you won’t get versioning and customer specific branches.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I am presently using SAXParser with SAXParserFactory, and I have run into a problem
I have a very critial business application presently running using Winforms. The application is
We are using TFS2010 for source control, the source repository has 3 main branches;
I am presently using openMP for the first time, and have hit my head
I am presently trying to construct an OBB (Oriented Bounding Box) using the source
Presently I am attempting to build Gendarme 2.10 using Visual Studio 2010. Here are
Presently, we've got several main projects each in their own repository. We will have
I have a canvas app presently using Koala 1.1.0 and the Javascript SDK. I
I'd like to return a collection plus a single value. Presently I am using
I am presently developing a web service using Ruby on Rails. I wish to

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.