views:

86

answers:

1

In the projects I work in, it seems the biggest problem with Merging changes is in the Windows Forms/GUI changes. We use Araxis Merge to compare the changes, but it can be hundreds of changes per file. And you have have to make notes and/or rename items to make sure you know what you are merging.

A big problem is if developers allow new controls to use the default names. Then there will end of being, for instance, 2 Label220's. Then the merge will merge half of the code together, but leave other parts separate; this basically just breaks the GUI.

Are there any tools for merging .NET (Windows Forms) GUIs better than at a code level?

We use Subversion. Is Mercurial any better at this?

+2  A: 

I use subversion and work in a small team with Windows Forms GUI applications, here are a few suggestions:

1) Split up your complex user interface components into multiple user controls. This has the added benefit of cleaning up your UI code and promoting reuse.

2) Require a lock for changes to the UI on the affected files first. As long as your complex forms are split up into different user controls you can use locking and still have multiple developers working on a single form.

3) Spend more time on UI prototyping to alleviate the number of changes. Also, going through several iterations of UI designs first will greatly improve the quality of the finished product.

Robert Venables
In hour company we tend to use: "lock all the forms you are editing" approach to avoid merging, as it can be very painful.
bbmud
I've found that I dislike user controls and instead prefer to descend from the TextBox (as one example) directly. Otherwise though, I like this answer.
overslacked