2009-10-07 16 views
9

Estoy usando git para rastrear un proyecto que estoy desarrollando en Flash Builder, y me pregunto cuál es la mejor manera de hacer que lo rastree, especialmente con respecto a los archivos generados por Flash Builder, los archivos generados por el compilador y los archivos fuente que no son necesariamente archivos flexibles.git + Flujo de trabajo de Flash Builder: ¿cómo lo configuro para que git funcione sin problemas?

lo tenía configurado para ignorar todos el constructor de destello .project & directorios de depuración a través de .gitignore:

.actionScriptProperties 
.flexProperties 
.metadata 
.project 
.settings 
bin-debug 

y también el tratamiento de los archivos SWF/CSA como binarios a través de .gitattributes

*.swf -crlf -diff -merge 
*.swc -crlf -diff -merge 

Un problema con esta configuración es verificar este proyecto y usar en Flash Builder desde cero:

A Flash Builder no le gusta cuando tiene una carpeta de proyecto sin los archivos .project. La única forma de la fuente de importación en Flash Builder es:

  1. crear una nueva aplicación Flex

  2. madre de él presenta la plantilla que creado (specifially APP_NAME.mxml) con un clon de git.

¿Dónde coloco las bibliotecas? Desde una perspectiva git, me gustaría tenerlos en la carpeta lib del repositorio así que cuando alguien clona el repositorio, todo funciona, pero desde una perspectiva local del sistema de archivos me gustaría almacenar todas mis bibliotecas en un solo archivo ubicación y use Flash Builder para hacer referencia a ellos, ya que puedo actualizar la biblioteca o descargar una versión posterior. Tal vez debería poner las bibliotecas en su propio repositorio y cargarlas como un módulo de git? De esta forma no necesito recordar manualmente actualizar mis archivos de la biblioteca Y en todos los proyectos X que los están usando, editar: simplemente se actualizarán cuando actualice los submódulos de cada proyecto.

¿Y qué hay de los módulos swfs/flex externos? He estado pegando archivos SWF externos en la carpeta bin-debug por ahora para que la clase SWFLoader pueda encontrarlos, pero como estoy .gituando la carpeta bin-debug, no vienen con el repositorio cuando se clona.

Una última cuestión es dónde guardar los archivos para el servidor. ¿Los tengo en un repositorio separado? Estoy usando php VOs 'con AMFPHP, así que es bueno poder editar los archivos php junto con mis archivos actionscript en Flash Builder ... pero no pertenecen a la carpeta src del proyecto.

La solución actual que estoy usando es:

  1. Creación de una carpeta 'servidor' en la raíz del proyecto

  2. Señalando un Apache VirtualHost en ella

  3. Ajuste de la carrera/configuración de depuración a http://APP_NAME.localhost

  4. Luego, utilizando la carpeta del servidor como reemplazo de bin- depuración cuando los archivos se exportan

El problema con esto es que tengo un gran lío de los archivos generados compilador y archivos de origen no como en mi carpeta del servidor. Simplemente no parece una solución elegante.

¿Cómo se configura git para que funcione con flash builder sin problemas? ¿Podría resolverse todo esto con múltiples proyectos git repos/Flash Builder, o un script ANT o algo así?

Gracias.

+0

En cuanto a los archivos .project de Flash Builder - No tengo mucha experiencia mirando a través de otras fuentes de Flex disponibles públicamente, pero por lo que he visto, parece una práctica común ponerlos en control de fuente. – weiji

Respuesta

2

he encontrado una buena soluciónque evita todo el horror de tener archivos sin seguimiento y mantener un .ignore masiva list:

LIMPIE sus proyectos antes de que se comprometan git.

Simple como eso.

Ya sea por Flash Builder o por hormiga, debe tener la capacidad de limpiar de todos modos, por lo que si simplemente limpia antes de comprometerse, se resuelve el problema de los archivos generados. Duh.

De hecho, probablemente podría configurarlo como un git hook o algo así.

+1

Otra razón por la que esto funciona bien es: clean probablemente no eliminará los directorios generados, pero git no rastrea los directorios vacíos: http://git.or.cz/gitwiki/GitFaq#CanIaddemptydirectories.3F :) – timoxley

2

Normalmente, para proyectos de eclipse con cualquier SCM, inicialmente verifico todo, incluidos .projects, etc., pero tal vez excepto bin-debug en su caso. Luego solo asegúrate de que cualquiera que revise el proyecto nunca vuelva a verificar en esos archivos .xxx. Por ejemplo, cuando uso forzosamente, primero compruebo los archivos .xxx en una lista de cambios que nunca controlé. Luego reviso el resto en una lista de cambios separada.

Otro consejo es utilizar las variables definidas por el usuario de la biblioteca cuando se trabaja con caminos de construcción, etc.

+0

un problema que acabo de descubrir es el archivo eclipse .metadata que parece querer poner en mi directorio de proyecto, es superior a 140 megas. wtf? de todos modos ... Creo que puede ser más seguro simplemente excluir estos archivos y simplemente rastrear el origen – timoxley

Cuestiones relacionadas