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

  • SEARCH
  • Home
  • 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 6779429
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 26, 20262026-05-26T16:23:03+00:00 2026-05-26T16:23:03+00:00

In our company we have started using VS 2010 to model our systems, in

  • 0

In our company we have started using VS 2010 to model our systems, in so called modeling projects. These are kept under TFS2010 source control.

It’s all good for a single user, but as soon as we introduced this tool to our entire architecture team we ran into a major problem: It handles multiple users extremely badly! Let me run you through a simple scenario.

  1. Architect 1 checks out an existing diagram and works on it for a while
  2. Architect 2 adds a new diagram and works on it for a while
  3. Architect 2 checks in his new diagram
  4. Architect 1 checks in his changes to the modeling project
  5. Architect 2 opens his diagram again, only to find that all the elements in it are missing!

As I have understood this, the problem is that the architecture project is based on several xml files, and in particular one important huge chunk of xml called ModelDefinition/Architecure.uml. It contains a lot of knowledge about the diagrams in the modeling project. When multiple people do multiple changes to this file simultaneously, the tools (TFS, VS) does not handle the required merging automatically, and we’re left with huge concurrency issues.

So in my scenario, because the Architecture.uml that architect 1 checked in does not know anything about the elements that architect 2 added, these elements are overwritten or otherwise ruined.

We want to avoid splitting the project into several smaller ones, because that would mean that we’d have to re-define our modeling components (classes, actors, use cases, components, etc) multiple times. By using a single solution, we can define such elements in one place, and re-use them in every other diagram.

So, our current ‘solution’ is to work using exclusive check outs. So only one architect can work at a time!

I was hoping that someone had come up with a better solution to this, which allows us to work more effectively.

  • 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-05-26T16:23:04+00:00Added an answer on May 26, 2026 at 4:23 pm

    Try divide & conquer: Is it possible that each architect works on her personal branch & then everything is merged into a ‘Trunk’?
    Conflicts should get visible during these merges.


    EDIT
    You could employ an XML-specific tool, like the ones presented here.
    By doing so, you should keep the branching-per-architect approach, BUT instead of using a single-step TFS-merge you could:

    • Perform a directory comparison between your ‘branch’ folder & your ‘trunk’ folder. Each found file is a subject to the merge that follows.
    • Merge each found file into your ‘branch’ folder, using one of the tools presented in the article. I have used Altova DiffDog, it’s very good – but comes at a high prize.
    • Check that everything is OK, then commit on ‘branch’.
    • Now merge with TFS-merge into ‘trunk’ which should by now be a trivial merge.
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

So we have recently started developing applications for the iPad for our company. Unfortunately
I have started using aspects for parameter validation in our development framework. It works
at our company we have some drupal projects that share some custom developed modules,
In our company we have staging and production servers. I'm trying to have them
I have just upgraded our company's domain controller from NT 4.0 to Windows 2008
For our company I'd like to have a Python based IRC bot which checks
I have a legacy application in our company built on... ahem; Classic VB (VB
We have an iphone device in our company and for the remote demo purpose
In our company's coding standard, we have been told to be aware of the
I have an old project at our company that uses shell scripting a lot.

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.