Pregunta

Me gustaría fuente de administrar un conjunto de archivos que se construyen como archivos zip, que contiene los archivos XML.

Dado que actualmente esos archivos se comprueban en como es, que son tratados como archivos binarios con todas las limitaciones obvias

Desde esos archivos contienen archivos XML, para evitar que pide a los programadores zip / descomprimir, me gustaría hacer lo siguiente, de forma automática

Los registros de entrada : explotar de forma automática los archivos:

  • Estos archivos tienen una extensión única, por lo que para cada fichero puso en contacto con esa extensión
  • descomprimir ese archivo a la memoria / ubicación temporal
  • Para cada uno de esos archivos (XML) a normalizar (para la comparación / fusión)
    • Reordenar de la raíz nodos secundarios directos en un orden predefinido (por ejemplo alfabético)
    • Algunos artículos tienen ID de referencia locales, reescribir los ID sequentialy después de la clasificación
  • crear una carpeta en el SVN con el mismo nombre que el archivo comprimido original,
  • comprobación en los archivos de la postal en esa carpeta

Para salidas : volver a empaquetar automáticamente los archivos:

  • No menos importante - se puede hacer usando Maven / Ant
  • Cuando la salida a la carpeta estallado (o cualquiera de sus archivos de contenido)
  • En lugar de comprobar que las carpetas / archivos:
  • Comprimir todos los archivos en esa carpeta
  • Y echa un vistazo al archivo comprimido

Para Merges

Asumo la fusión no es del lado del servidor SVN, y es responsabilidad del cliente, por lo que hay una manera fácil de escribir un plugin de fusión en su lugar, (por ejemplo, para la tortuga)

es el cualquiera de los anteriores posible? si es así, ¿cómo? ¿hay más de una forma?

¿Fue útil?

Solución

En lugar de complicar la pre / gancho de registro después de escribir una envoltura alrededor de la aplicación que crea estos archivos zip sería más fácil. La envoltura debe descomprimir todos los archivos y proporcionar en una carpeta.

La otra forma es lo que usted ha descrito. Sin embargo, la complejidad es tener un disparador para hacer esto para todos los archivos zip. Usted podría terminar con otro filtro en el gatillo para hacer esto sólo para archivos de carpetas específicas y tienen que mantener los conjunto de carpetas en una base de datos separada. Para evitar estas complejidades escribir una envoltura alrededor de la aplicación.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top