Estoy utilizando EGit en un conjunto bastante grande y complejo de proyectos de Java (más de un millón de líneas de código) y una década de historia.
Aquí me encuentro con serios problemas de rendimiento con EGit, ya que incluso un pequeño cambio de línea en el archivo Java causa que EGit vuelva a indexar durante unos minutos, lo que está ralentizando todo el sistema. De hecho, incluso la línea de comandos de git es lenta ya que el "estado de git" tarda alrededor de un minuto desde la línea de comandos, pero puedo vivir con este problema de rendimiento, & EGit problema de lentitud de diálogo de confirmación (link). Como puedo usar la línea de comandos de git para confirmar y actualizar, pero no quiero sacrificar mi rendimiento de Eclipse ya que eso afecta la productividad.Sugerencias sobre la optimización de EGit en Eclipse
Lo siguiente es lo que he tratado de hacer googlear y pidiendo a la gente en torno a:
- Agregado carpeta de todas las clases en el archivo de exclusión. De hecho, intenté poner las clases folderin .gitignore también por el momento.
- Dio a Egit el tiempo suficiente para finalizar la indexación manteniendo la máquina encendida durante un día.
- La transición de Git, el historial y todas las demás vistas de Eclipses se cierran en el entorno de trabajo de Eclipse mientras se desarrolla.
- Hice "git gc" - Se hizo una diferencia en el rendimiento de la línea de comandos, pero apenas hay diferencia para EGit.
- Desmarcado Decorador de etiquetas para Git. Preferencias -> General -> Apariencia -> Decoraciones de etiqueta.
- Se eliminó el cygwin de la ruta, como se leyó en algún lugar del foro que JGit podría estar utilizando cygwin para la conversión de ruta.
- Caché de ventana incrementada de 10 a 70 m en Eclipse (Preferencias -> Equipo -> Git -> caché de ventana).
PD: El repositorio de Git apunta al repositorio svn remote. Además, soy git novato, así que podría haber cometido algún error en la configuración, así que no dude en señalar algo.
Aquí está la información de mi sistema, no tengo muchas especificaciones de hardware de lujo, pero algo de RAM de sobra (8GB).
- versión git-gui 0,16 GITGUID
- versión git: 1.7.10.mysysgit.1
- JDK 1.6_025
- Eclipse versión: La versión 3.7.2 de Java EE con parámetros -Xms1536m -Xmx1536m
- EGit: 1.3.0.201202151440
- Windows 7 Procesador: Core 2 Duo de 2,6 GHz
VonC - De acuerdo, pero hay un problema con la implementación de Egit, ya que el mismo gran repositorio git funciona bastante bien en Linux con IntelliJ), aunque acepto que los sistemas de archivos Linux son mucho más rápidos. Entonces, ¿puedo crear un repositorio central de Git que sea clon de SVN, y luego tener un pequeño repo de Git pequeño del repo de Git central gigante? – Hemant
@Hemant no, no se puede (no con la posibilidad de comprometerse con el repositorio SVN). Puede definir un repositorio Git que declare todos los pequeños como submódulos, pero no habrá ningún enlace con un repositorio SVN. Eso deja un mecanismo de sincronización manual. – VonC
Vonc - Gracias por aclararlo. Seguiré explorando mis opciones ... también espero que el equipo de Egit haga algo de ajuste de rendimiento más rápido. – Hemant