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
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.
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.
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. ;)
- 1. No se puede enviar al repositorio usando las Extensiones GIT
- 2. ¿Debo registrar las configuraciones de eclipse (.settings) en SVN?
- 3. ¿Qué debo evitar al enviar una consulta?
- 4. ¿Debo escapar caracteres al enviar correos electrónicos?
- 5. Mod_deflate y mod_header settings?
- 6. Problemas al enviar el archivo al repositorio SVN
- 7. ¿Cómo debo extraer las carpetas comprimidas en Java?
- 8. git y carpetas vacías
- 9. No se puede enviar al repositorio remoto de git
- 10. ¿Cómo podría ignorar las carpetas bin y obj del repositorio de git?
- 11. Como desarrollador, ¿cómo debo usar las carpetas especiales en Windows Vista (y Windows 7)?
- 12. IOS Get Proxy Settings
- 13. Estructura de carpetas para muchos proyectos en un repositorio SVN?
- 14. Lighttpd Reverse Proxy Settings
- 15. glassfish v3 classpath settings
- 16. Cómo crear una rama y enviar al servidor
- 17. Shebang y Groovy
- 18. Comprimir y descomprimir las carpetas y archivos usando Java
- 19. live asp.net web.config settings
- 20. C# Settings Management
- 21. Suprimir "¿Enviar al repositorio remoto?" preguntar en TortoiseHg al presionar sobre SSH
- 22. Maven Groovy y Java + Lombok
- 23. FileStream y crear carpetas
- 24. Convertir el repositorio mercurial al repositorio svn
- 25. WCF serviceBehaviors vs binding settings
- 26. web.Config vs Database Settings table
- 27. Las carpetas eliminadas SVN de Tortoise siguen volviendo
- 28. ¿Debo guardar mis imágenes en la base de datos o en las carpetas?
- 29. ¿Cómo asignar carpetas vacías a un repositorio de Mercurial?
- 30. ¿Debo saber groovy antes de aprender a usar grails?
Yo diría que esto es un _strong_ no. Comprometerse solo agrega desorden y ningún valor. – cdeszaq
Por favor, mira mi respuesta. Estoy en desacuerdo. –