files de configuration en control de versión durante la implementación

Tengo un problema particular con los files de configuration y la implementación. Cuando despliego mi proyecto, eventualmente se mueve a dos twigs diferentes: puesta en escena y producción (usando SVN aquí)

Hago la sucursal de mi copy de trabajo local del proyecto. Lo que esto hace es sobrescribir la copy de configuration y desarrollo de los files de configuration, por lo que debo ingresar manualmente y realizar los cambios correctos cada vez que lo implemente.

¿Tiene sentido eliminar los files de configuration de SVN por completo ya que está escrito en piedra? ¿O hay otra forma de hacerlo?

Lo que suelo hacer es mantener múltiples files de configuration en el repository, pero no bajo el nombre real (por ejemplo, en una carpeta dedicada que queda excluida de la implementación). Mis scripts de implementación copyn el file de configuration apropiado en la location final. Entonces mi rutina de implementación va:

  • revisa
  • comstackr
  • ejecutar script de deployment

No desea eliminar los files de SVN, ya que eso los eliminará del server cuando implemente.

SVN ofrece una function llamada svn: ignorar que puede usar para excluir uno o varios files individuales del control de versiones o para hacer coincidir un patrón de nombres de files para ignorar. Básicamente, ignorar files significa que SVN los dejará tal como están en cada copy de trabajo o server de implementación, por lo que pueden ser diferentes en cada lugar.

Hay dos forms de usar ignorar desde la línea de command.

R: Edite las properties de ignorar para un directory.

  • Use cd trunk/blah para cambiar al directory que contiene los files que desea ignorar.
  • Use svn propedit svn:ignore . para editar las properties de ignorar para este directory. Esto abrirá un editor de text.
  • En el file que se abre, agregue o modifique líneas que representarán los files que desea ignorar. Por ejemplo, agregar una línea de *.txt hará que SVN ignore todos los files que terminen en .txt. Agregar una línea de config.php hará que SVN ignore el file config.php.
  • Guardar y salir del file.
  • Confirmar el cambio de propiedad. svn commit -m "New Ignores"

B: use un solo command para establecer la propiedad de ignorar SVN en un directory.

  • Use cd trunk/blah para cambiar al directory que contiene los files que desea ignorar.
  • Use svn propset svn:ignore config.php . para configurar la propiedad de ignorar SVN para ignorar el file config.php.
    • Confirmar el cambio de propiedad. svn commit -m "New Ignores"

Buen artículo introductorio sobre svn: ignorar . " Documentación oficial de SVN " .