Fusionando cambios en la GUI

En los proyectos en los que trabajo, parece que el mayor problema con la fusión de cambios está en los cambios de Windows Forms / GUI. Usamos Araxis Merge para comparar los cambios, pero pueden ser cientos de cambios por file. Y debe tomar notas y / o cambiar el nombre de los elementos para asegurarse de saber qué está fusionando.

Un gran problema es si los desarrolladores permiten que los controles nuevos usen los nombres pnetworkingeterminados. Entonces habrá un final de ser, por ejemplo, 2 Label220. Luego, la fusión fusionará la mitad del código, pero dejará otras partes separadas; esto básicamente rompe la GUI.

¿Hay alguna herramienta para combinar las GUI de .NET (Windows Forms) mejor que a nivel de código?

Usamos Subversion. ¿Mercurial es mejor en esto?

Uso la subversión y trabajo en un equipo pequeño con las aplicaciones GUI de Windows Forms, aquí hay algunas sugerencias:

1) Divida los componentes complejos de la interfaz de usuario en múltiples controles de usuario. Esto tiene el beneficio adicional de limpiar su código de UI y promover la reutilización.

2) Requerir primero un locking para cambios en la IU en los files afectados. Siempre que sus formularios complejos se dividan en diferentes controles de usuario, puede usar el locking y aún así tener varios desarrolladores trabajando en un único formulario.

3) Dedique más time a la creación de prototypes de UI para aliviar el número de cambios. Además, pasar por varias iteraciones de layouts de UI primero mejorará en gran medida la calidad del producto final.