2012-09-20 27 views
15

Duplicar posibles:
Which eclipse files belong under Version Control¿Debo registrar las configuraciones de eclipse (.settings) en SVN?

Utilizamos Eclipse IDE para el desarrollo. Siempre hay un cambio en la carpeta .settings. Algunas veces estamos configurando algo en Eclipse, pero generalmente cambiamos cualquier cosa en Eclipse.

Eclipse cambia la configuración sin ninguna solicitud de nosotros?

¿Cuál es la mejor práctica con .settings?

¿Debo verificar los ajustes de eclipse (.settings) en SVN o agregar a la lista de ignorar?

+2

Parece, [según otra de sus preguntas] (http://stackoverflow.com/questions/12513277/how-can-i-configure-checkstyle-in-maven), que está utilizando maven. Si es así, entonces no tendría que verificar en '.settings' ya que toda la estructura de compilación está definida en los archivos pom. – maba

+0

@maba Sí, estoy usando maven .. – Kayser

Respuesta

20

El directorio contiene .settings – o al menos debe contener – información vital necesaria para construir con éxito su proyecto dentro de Eclipse, tales como la codificación de caracteres utilizado para el código fuente, configuración del compilador de Java, y mucho más. Si no compromete ese directorio con el SCM, en la mayoría de los casos perderá la capacidad de verificar el proyecto en un nuevo espacio de trabajo e inmediatamente lo compilará. Un aspecto especialmente sensible es la configuración precisa de los errores/advertencias del compilador. Si un desarrollador los ha configurado mal, las consecuencias pueden variar desde frustraciones por compilaciones fallidas de Eclipse hasta desarrolladores que dañen el código en un intento de "corregir" errores/advertencias inexistentes.

Cada complemento puede aportar su propio archivo de configuración al directorio, así que puede elegir e ignorar los irrelevantes, conservando los importantes, como org.eclipse.jdt.core.prefs.

Tienes que tener mucho cuidado de no interferir con la configuración específica del proyecto de una manera que rompa la construcción para los demás. Todas las preferencias personales deben cambiarse globalmente en el nivel de espacio de trabajo, de modo que esta configuración no se propague a los compañeros de equipo.

En teoría, se puede aplicar una política donde todos deben importar configuraciones específicas del proyecto desde otro lugar y nunca cometerlas, pero esa ruta no ofrece ventajas y es obviamente inferior en el departamento de facilidad de uso.

+0

Lo tengo. No la configuración, pero puede ser que algunos archivos específicos pertenecen a Mycelipse, etc. ¿Verdad? – Kayser

+0

Sí, así que trate de dejar las cosas más importantes ('org.eclipse.jdt. *' Y demás) en el SCM y sea libre de excluir cualquier configuración que solo guarde algunas configuraciones de visualización y similares. –

+4

Esto realmente no es necesario si configura correctamente su proyecto Maven (pom.xml) y utiliza el plugin de Maven Eclipse para generar automáticamente estos archivos ... – torbinsky

2

No es necesario,

debido a los diferentes usuarios demandando diferentes ajustes y configuración.

El ajuste se puede describir en archivos de texto

+0

¿Qué quieres decir con archivos de texto? – Kayser

0

Puede crear mejor configuración y ponerlo en SVN, pero esto crea un infierno de problemas.

  1. No hay garantía de que alguien va a cometer un ajuste erróneo y todo el mundo va a sufrir tendrán que ser cambiado cada vez que ocurren cambios de configuración
  2. Configuración.

Es mejor poner como referencia si alguien no tiene nada entonces puede comenzar desde allí.

0

La respuesta correcta es no. No porque este archivo eventualmente cambie o no, pero el repositorio de código fuente del proyecto no es para configuraciones de archivos personales.

Si realmente necesita colocar en algún lugar estos archivos IDE específicos, regístrese en una carpeta SVN separada del proyecto.

2

Como está utilizando Maven Sin duda diría que no. Según mi experiencia con los proyectos en los que he trabajado, cometer estos archivos causa problemas, especialmente si colabora con personas que tienen entornos diferentes (OSX/Windows/* nix, diseño de sistema de archivos).

Si aún no lo está utilizando, recomendaría usar el plugin de Maven Eclipse (http://maven.apache.org/plugins/maven-eclipse-plugin/) para generar automáticamente sus archivos de proyectos de Eclipse.

Editar:

olvidó mencionar que probablemente la mayor razón por la que no me gusta cometer ningún ajustes/archivos de proyecto Eclipse es debido al desorden que se suma a la historia de mi VCS. Descubrí que estos archivos a menudo cambian aparentemente sin motivo (es decir, los cambios en la fecha y hora del archivo de preferencias) y, en el mejor de los casos, agregan cambios adicionales o, en el peor de los casos, provocan conflictos molestos.

+0

En mi experiencia, nunca cambian sin una razón aparente. Esto ocurre solo cuando el proyecto está en manos de desarrolladores irresponsables, pero en ese caso ya tienes muchos otros problemas. La diferencia entre entornos es inexistente si sabes cómo configurar correctamente el JRE. El diseño del sistema de archivos dentro de los proyectos de Eclipse es, por supuesto, siempre exactamente el mismo. En cuanto al plugin Maven Eclipse, es útil para administrar dependencias y para poco más. De hecho, debo desactivar su Maven Builder ya que no puede manejar las funciones de Maven que uso. –

+0

"... estos archivos a menudo cambian aparentemente sin motivo ..." Tienes toda la razón. – Kayser

+0

@Kayser Estas son afirmaciones bastante vagas de usted y de Torbinsky. No editó el archivo, eso es cierto, pero si se detiene a pensar por un segundo o mira los diffs reales, invariablemente encontrará una razón bastante justificada para el cambio.Sin embargo, podría estar usando un complemento que no funciona bien, pero luego debe seleccionar su archivo de configuración solo para ignorarlo, y dejar el 'org.eclipse.jdt.core.prefs' principal y similares. –

Cuestiones relacionadas