ASP.NET MVC: ¿cómo debería funcionar con subversión?

Entonces, tengo una aplicación asp.net mvc en la que varios desarrolladores trabajan en distintas capacidades. Esta es la primera vez que trabajamos en una aplicación de mvc y la primera vez que trabajo en .NET. Nuestra aplicación no tiene muchas testings unitarias en ella …

El problema que tenemos es tratar de evitar que los demás se sobrescriban los cambios. Por ejemplo:

  1. Dos desarrolladores están trabajando en la aplicación y Jon (no es su nombre real) hace un cambio en un controller, comstack un nuevo dll y revisa sus cosas (tanto el controller como el dll). Nuestro sistema svn actualiza automáticamente nuestro server DEV. con los cambios que Jon acaba de hacer.

  2. Clyde (que tampoco es un nombre real) también realiza un cambio al mismo time, pero no actualizó el código con el cambio de Jon y comete un nuevo dll "olvidándose" del cambio de Jon.

Esto pasa mucho La pregunta que hago es más una pregunta sobre el flujo de trabajo: ¿cómo resolvemos este problema? ¿Es solo cuestión de que Clyde tenga que ser más cuidadoso? ¿Alguien puede recomendar un process decente para que lo usemos?

No ingresas los files DLL. Excluya la carpeta bin de Subversion en su totalidad. Son los files .cs que importan y que se comstackrán localmente en cada computadora que verifique el código de Subversion. Si su secuencia de commands de implementación no comstack el código, sino que es simplemente una statement de xcopy , debe introducir csc en la secuencia de commands o implementar un sistema de continuous integration como TeamCity.

El problema que describes ya lo maneja la subversión. Cuando Clyde intenta comprometer sus cambios, la subversión detectará el conflicto y le ofrecerá la posibilidad de fusionar sus cambios.

Este es exactamente el escenario que Subversion y otros sistemas de control de versiones están diseñados para evitar. Cuando Clyde ingresa, debe recibir un error "desactualizado" y su compromiso debe fallar, lo que le obliga a actualizar su copy de trabajo y get los cambios de Jon antes de que pueda cometer los suyos propios.

Echa un vistazo a los video tutoriales SVN de dime cast. Éstos le muestran las mejores prácticas, como cómo configurar su proyecto y cómo hacer el "baile de input", lo que evitará la situación en la que se topó /

http://www.dimecasts.net/Casts/ByTag/SVN

He usado la aplicación Subersion y .NET juntos. Básicamente, lo que aprendimos fue que siempre debe hacer una actualización de su copy de trabajo antes de hacer una verificación. De esta forma, cualquier cambio realizado por otros desarrolladores se networkingucirá a su copy de trabajo y cualquier conflicto de fusión será rápidamente conocido por usted. A continuación, puede corregir los conflictos de fusión, registrarse y continuar trabajando. Si su segundo desarrollador luego actualiza su código de trabajo, los primeros códigos combinados de los desarrolladores se eliminarán y el process se repetirá.

Espero que esto ayude.

ignora las carpetas bin y obj, pero tenemos bin y Bin. use svn: ignore [bB] en [oO] bj * .suo