2012-08-09 12 views
5

Tengo una aplicación Grails en mi máquina local y he creado un repositorio en XP-DEV. Tengo las carpetas .groovy y .settings en la raíz del proyecto. ¿Debo enviar esos archivos al control de la versión? Estoy haciendo esta pregunta porque no tengo idea de cuál es el uso de estas carpetas.¿Debo enviar las carpetas .groovy y .settings al repositorio

Respuesta

10

actualización

de 5 años de experiencia en el desarrollo posterior y yo creo que tenga que caminar de regreso mi opinión inicial ligeramente. Todavía creo que, en general, estos archivos no deberían incluirse en el control de la fuente.

Sin embargo, hay ciertas configuraciones que son convenientes para compartir entre desarrolladores. El problema es que es muy difícil saber qué configuraciones compartir y cuáles no compartir. Por ejemplo, cualquier configuración con rutas absolutas no debería compartirse; pero ¿cómo sabes si la configuración de alguna herramienta dada (por ejemplo, Eclipse, IntelliJ, etc.) contiene rutas absolutas?

Si está usando git para control de versiones, github publica muchas plantillas .gitignore para varias herramientas github/gitignore. Si quieres probar la configuración para compartir, te recomiendo usar una de estas plantillas.

Si esas plantillas no funcionan para usted, estoy de acuerdo con mi recomendación original de no verificar estas configuraciones en el control de versiones y permitir que se generen automáticamente. Luego, si hay configuraciones importantes para compartir (como una plantilla de estilo de código o algo así), brinde instrucciones sobre cómo aplicar esa configuración para todos los entornos de desarrollo esperados.


respuesta original:

.settings suele crearse por cualquier IDE que está utilizando (sé Eclipse utiliza esta convención) y contiene los ajustes específicos del proyecto con respecto a la IDE.

.groovy contiene ajustes específicos del usuario para groovy. Por ejemplo, sé que Grape descarga dependencias en el directorio .groovy.

Mi opinión es, no, no cometer estos directorios. Si otra persona revisa su proyecto, sus propias copias personales de estos directorios se generarán automáticamente.

+2

Yo diría que esto es un _strong_ no. Comprometerse solo agrega desorden y ningún valor. – cdeszaq

+1

Por favor, mira mi respuesta. Estoy en desacuerdo. –

9

No estoy de acuerdo con la respuesta de @FGreg. La carpeta .settings contiene configuraciones específicas del proyecto. Esto incluye configuraciones personalizadas del compilador, errores y niveles de advertencia, preferencias de formato, acciones de guardado, etc. En general, es una buena idea compartir estas preferencias entre los desarrolladores. Si estas configuraciones no son compartidas, entonces podría obtener inconsistencias en los problemas de formato y compilación.

En general, si desea un entorno de desarrollo coherente para cualquier equipo, deberá incluir las carpetas de configuración en el control de versiones.

La carpeta .groovy dentro de Groovy-Eclipse se utiliza para información de DSL específica del proyecto y sugerencias de inferencia. En general, si tiene información de referencia específica del proyecto, querrá compartir esto con otros en el mismo proyecto.

En nuestro equipo, definimos claramente todas las configuraciones que serán utilizadas por cada proyecto, confirmamos las carpetas .settings y estamos seguros de que todos los desarrolladores tienen la misma configuración.

2

En mi humilde opinión, cometer el archivo del proyecto IDE es una mala idea. Si tiene una configuración específica para hacer, debe configurar su maven, gradle, ant o lo que sea para generar la configuración correcta.

No es una lista de problemas que he visto

  • Su proyecto será probablemente IDE específico.
  • Tendrás diferencias entre desarrollo e integración. Detectarás problemas más tarde.
  • El archivo de configuración de su IDE depende de la versión IDE y del complemento instalado.
  • Las personas cometen errores (por eso hacemos el control de fuente) algunos archivos se cometerán con la configuración incorrecta.

Si decide enviar estos archivos, recuerde que deberá realizar un trabajo extra manual para asegurarse de que se han confirmado los archivos correctos. Pero si configura correctamente su herramienta de compilación, solo hará el trabajo una vez. ;)

Cuestiones relacionadas