¿La mejor solución de control de fuente para el entorno Oracle / ASP.NET?

Estoy tratando de planear una forma para que 5 desarrolladores utilicen Visual Studio 2005/2008 para desarrollar en queueboración una aplicación web ASP.NET en un server web de desarrollo contra una database Oracle 8i (que pronto será 10g).

Los desarrolladores están en la networking local o entrando a través de un vpn (no una connection muy rápida),

Evalué el último Visual SourceSafe, pero encontré los siguientes errores:

1) No podemos utilizar el desarrollo descentralizado porque no podemos replicar una database de Oracle de desarrollo a todas las computadoras de los desarrolladores. Además, el vpn es demasiado lento para permitir que las instancias de su aplicación local se conecten al server de la database.

2) Como el código fuente de VSS no está en el sistema de files, la única manera de depurarlo es comstackr la aplicación y ejecutar el depurador, que solo un desarrollador puede hacer a la vez en un server de desarrollo centralizado. Esto es inaceptable. Intentamos usar carpetas ocultas para que cada vez que se verificara un file se publicara en la instancia de la aplicación en el server de desarrollo, pero esto falló para los desarrolladores remotos en el vpn.

3) Dado que los desarrolladores hacen un montón de código web, es importante por razones de productividad que cuando GUARDAN un file, puedan ver inmediatamente el cambio trabajando en el server de desarrollo.

4) No es una forma fácil de implementar un process controlado para enviar files al server de producción.

¿Alguna sugerencia sobre una solución de control de origen que funcione bajo estas limitaciones?

Actualización: supongo que debido a que el desarrollo está forzado a estar en el server, necesitamos ir con un model de "Bloqueo y logging". Entonces, ¿qué solución de control de fuente funcionaría mejor para los escenarios "Lock and Check In"?

Actualización: ¿Visual SVN soporta el desarrollo centralizado contra un server de desarrollo? Como en, el desarrollador puede ver inmediatamente su actualización en el server de desarrollo después de save en VS?

He usado Subversion y TortoiseSVN y estaba muy contento.

¿El punto 1 se debe a un problema con el esquema de su database (o datos)?

  1. No podemos usar el desarrollo descentralizado porque no podemos replicar una database de Oracle de desarrollo a todas las computadoras de los desarrolladores.

De lo contrario, sugiero encarecidamente que cada desarrollador tenga su propio entorno (Visual Studio, Oracle …) y utilice su server de desarrollo para fines de integración. Tal vez podría darles un subset de los datos, o tal vez solo los scripts de esquema.

  • Oracle Express Edition encaja perfectamente en este escenario. Además, compartir la misma database viola la regla n. ° 1 para el trabajo de la database , que en mi experiencia debería aplicarse en cualquier lugar posible.
  • Como Guy sugirió , tenga una versión automatizada que permita a cualquier desarrollador recrear su esquema de database en cualquier momento.
  • Se pueden encontrar pautas más útiles aquí (incluya la regla n. ° 1 anterior).
  • Defina su process de desarrollo para que el desarrollo paralelo sea posible y solo use lockings como último recurso.

Lo siento si ya previste estas soluciones y las encontraste no aptas para tu situación, pero realmente sentí la necesidad de expresslas por si acaso …

Visual Source Safe es el engendro de Satanás.

Mira Subversion y Visual SVN (con Tortise SVN). Claro, Visual SVN cuesta un poco – $ 49 por asiento – pero es una gran herramienta. Tenemos un equipo de desarrollo de 6 progtwigdores, y ha sido una gran ayuda para nosotros.

Si puede gastar el dinero, Team Foundation Server es el que mejor funciona en un entorno de desarrollo de Visual Studio.

Y basado en la experiencia personal, funciona muy bien en conexiones VPN. Y, por supuesto, puedes tener comstackciones automatizadas.

Yo diría SVN en precio (gratis), Perforce en la facilidad de integración.

Sin duda, también sabrá sobre GIT y CVS, y hay buenas razones para mirarlos.

Interesante: parece que está trabajando en un proyecto de website en el server, y todos están trabajando en los mismos files físicos. Estoy de acuerdo en que SVN es muy superior a VSS y realmente es bueno trabajar con él, pero en mi experiencia está realmente orientado a desarrolladores que trabajan en una copy local del código.

VSS es un tipo de control de fuente de "locking e ingreso", mientras que SVN y TFS y la mayoría son "editar y fusionar": todos los desarrolladores obtienen copys de la fuente, editan los files según sea necesario y luego fusionan sus cambios en control de fuente, y si alguien más ha editado el file mientras tanto fusionan los cambios.

Desde el punto de vista de la database, supongo que está comprobando los scripts de su database, luego tiene algunos packages de compilation automatizados y los está ejecutando (o tal vez solo un desarrollador o DBA ejecutándolos manualmente de vez en cuando). En este caso, tiene sentido que los desarrolladores tengan una copy local de los scripts que pueden editar y fusionar usando SVN o TFS.

Sin embargo, para un equipo que trabaje en una copy compartida del código fuente en un server de desarrollo, puede tener problemas al usar editar y fusionar: un model de control de origen "bloquear y registrar" puede funcionar mejor para usted. Simplemente no VSS, desde el punto de vista de la corrupción y la estabilidad.