¿Mantiene los archivos intermedios bajo control de versiones?

8

Aquí hay un ejemplo con un proyecto Flash, pero estoy seguro de que muchos proyectos son así.

Supongamos que creo una imagen con Photoshop. Luego exporto esta imagen como JPEG para la integración en Flash. Compilo el fla como una biblioteca de activos, que luego se usa en mi proyecto Flash Builder para producir el swf final.

Entonces dice:

psd => jpg -> fla => swc -> Flash Builder project => swf.

=> : produce
-> : is used in

La psd, fla, y Project Builder Flash son archivos de origen: son no el resultado de algún proceso.

El jpg y el swc son lo que yo llamaría archivos "intermedios". Son el producto de uno (o más) archivo (s) de origen que se utilizan como entrada en otra herramienta o proceso.

El swf es el resultado final.

Entonces, ¿mantendría esos archivos intermedios bajo control de versión? ¿Cómo lidias con ellos?

subb
fuente

Respuestas:

10

JPG : manténgalo bajo control de versión, a menos que tenga un proceso automatizado para la exportación de JPG desde PSD, no todas las exportaciones se crean de la misma manera, se hacen a mano y se usa un ojo entrenado para optimizar la compensación entre la compresión y la degradación visual.

SWF : no es necesario mantener bajo control de versión ya que el mismo archivo de compilación produce el mismo resultado cada vez. Pero, consérvelo por conveniencia si tiene miembros del equipo (gerentes de proyecto, probadores) que no tienen el software para construir el proyecto pero tienen acceso a VC y desean ver el resultado.

SWC : similar al SWF, no es necesario mantenerlo, a menos que, por alguna razón, los desarrolladores que lo utilizan para crear SWF no lo hagan ellos mismos. (El mismo principio que los JAR en Java, aquellos que no construyes tú mismo, a menudo se registran en VC, si no se usa una herramienta de compilación basada en repositorio como Maven que los extrae automáticamente).

Nicole
fuente
Buen punto sobre la compresión JPG.
subb
Creo que tiene la intención de mantener el SWF en cualquier caso, ya que es el objetivo final. Es el SWC intermedio por el que está preguntando.
Orbling
@Orbling: gracias. Mi culpa por no leer correctamente.
Nicole
En el desarrollo web, todos los archivos activos, es decir, lo que constituye el contenido activo del sitio web (sin incluir el contenido generado automáticamente) tiende a mantenerse en el control de versiones. Para que siempre haya una copia en vivo de todo el sitio almacenado. Por lo tanto, las reglas de compilación habituales sobre no almacenar objetivos de compilación (a diferencia de los intermediarios) tienden a no aplicarse. Particularmente para cosas propietarias como archivos SWF.
Orbling
Puedo publicar sitios web para clientes, pero normalmente no tengo una licencia para que el software cree archivos SWF en los dispositivos desde los que publico sitios web. En esos casos, necesito que los artistas de contenido flash confirmen el resultado final al control de revisión.
shannon
1

Normalmente mantengo mis archivos intermedios en una carpeta llamada "sin procesar" debajo de mi carpeta de imágenes y los registro en el control de origen. Los trato como mi "código fuente" de imágenes. De esa manera, si tengo que regresar y editar algunas de las imágenes, no tengo que encontrar los recursos nuevamente, o tratar con una imagen escalada que ya no pueda manejar más ajustes.

En su caso, mantener el archivo PSD probablemente sea suficiente, ya que las exportaciones a JPG / FLA / SWC son conversiones de tipo simple y se pueden reproducir rápidamente.

Tener la designación "en bruto" hace que sea fácil rastrear el control de origen y excluirlo de los scripts de implementación.

Dillie-O
fuente
¿Está automatizada su conversión de PSD a JPG / PNG o cada desarrollador necesita generar manualmente los archivos JPG / PNG? Si estás trabajando solo, está bien, solo pregunta.
Jeremy Heiler
Es un proceso manual. La mayoría de las veces solo soy yo para un proyecto determinado, pero Photoshop es una de esas aplicaciones "estándar" en nuestra tienda, por lo que si alguien más tuviera que modificar la imagen, también tendrían Photoshop en su sistema.
Dillie-O
1

En general, los archivos creados deben permanecer fuera del control de versiones. Los archivos Obj generalmente se mantienen fuera del control de versiones, y son archivos intermedios producidos al construir ejecutables.

Si sus archivos jpgs y swcs se generan automáticamente como parte de una compilación, manténgalos fuera del control de origen y haga que se generen automáticamente una vez que cree una nueva comprobación, y piense en ellos como archivos de objetos.

Las cosas que se modifican / actualizan a mano deben ser versionadas. Las cosas modificadas / actualizadas por la máquina no deberían. (Generalmente)

whatsisname
fuente
Estoy de acuerdo. Ese es el escenario ideal. Sin embargo, en algunos casos, no es posible generar archivos de salida automáticamente, porque requieren intervención humana (por ejemplo, compresión JPEG) o las fuentes están en un formato propietario o de lo contrario.
subb
0

Yo no. Mientras algo se haga automáticamente, debería hacerse automáticamente y no tiene sentido desperdiciar espacio en vc, solo hará que las fusiones sean más difíciles.

Por otro lado, puede haber archivos que se generan y no se modifican automáticamente (como ejemplo de JPG). Luego mantendría el archivo fuente y el archivo generado A MENOS QUE tuviera una opción para mantener el archivo fuente y los parámetros ajustados (nivel de compresión, etc.).

Maciej Piechotka
fuente
Parámetros de ajuste como archivo fuente. Interesante.
subb