¿Dónde en el repository almacenar datos de testing?

Tengo un proyecto para analizar las imágenes. Datos de testing para este proyecto: alnetworkingedor de 15 GB de imágenes. Pregunta: ¿dónde almacenar tales datos de testing, dado que la necesidad de almacenar múltiples versiones y la mayor parte de los desarrolladores necesita estos datos?

En el mismo repository que el código? ¿En un repository separado con reference externa?

Estoy de acuerdo con las otras respuestas en que es una mala idea mantener tantos datos de testing en su repository. Sin embargo, hay un par de sistemas que le permiten consultar convenientemente (y download) datos de gran tamaño desde fuera de su repository de git:

  • git annex por Joey Hess
  • git media por Scott Chacon

Me temo que tampoco he usado para ningún propósito serio, pero suenan como soluciones plausibles para lo que quieres.

Si estas imágenes solo las necesitan desarrolladores o personas que quieran ejecutar las testings, posiblemente las includeía en un submodule, ya que parecen ser bastante importantes …

Debe almacenarlos en un referencel separado, más adaptado a ese tipo de files.

Use un repository de artefactos como Nexus como se propone aquí .
Agregue en su repository de DVCS los scripts necesarios para get de Nexus las versiones correctas.

De esta forma, clonarás rápida y fácilmente tus fonts , y downloadás los binarys del segundo referencel cuando sea necesario.

Hay muchas opciones, sin embargo, debe tener cuidado de integrar correctamente cualquier solución en su repository de git.

Git es un sistema de control de revisiones, más precisamente, almacena una list de instantáneas de su proyecto. Cada instantánea representa su proyecto en un momento determinado.

Cualquiera que sea la solución que elija, su proyecto debería poder extraer los datos de testing tal como existían en cualquier instantánea del historial del proyecto.

Por ejemplo, si cada image existe permanentemente en una URL fija, su proyecto git puede simplemente almacenar un file de text con todas las URL. En time de ejecución, haga que un script obtenga cada image. A medida que su proyecto evoluciona y las imágenes se agregan o eliminan del set de testings, no modifique el esquema de URL existente. Actualice el file de puntero y confirme eso.

Otra buena idea podría ser registrar los hashes md5 o sha1 de las imágenes en cada URL. La secuencia de commands de descarga debe hacer una comparación para verificar en time de ejecución, por lo que puede recibir alertas sobre cualquier incoinheritance.