2010-07-22 16 views
6

Estoy configurando un proyecto que se compartirá entre varios programadores de mi organización. Estamos usando git, que soy un recién llegado. El directorio del proyecto incluye enlaces simbólicos a directorios de documentación que no deberían estar bajo control de versión. Deseo mantener los enlaces simbólicos bajo control de versiones como enlaces simbólicos, en lugar de tenerlos desreferenciados y todo el contenido del directorio vinculado simbólicamente colocado bajo control de versión.Control del tratamiento de eGit de enlaces simbólicos

Me parece que la herramienta de línea de comandos git se comporta de la manera que quiero: git add -A. Sin embargo, si trato de usar la versión de Eclipse de git, eGit, para agregar todos los archivos actualmente no versionados, usando Team->Track en el menú contextual del proyecto, eGit desea agregar todos los archivos en los directorios enlazados. ¿Hay alguna manera de decirle a eGit que, no, estos son realmente enlaces simbólicos, y que no deberían desreferenciarse?

+0

No hay una respuesta a su pregunta, pero si es nuevo en git, le recomiendo leer esto: http://progit.org/book/ He probado algunos DVCS, y he perdido el tiempo haciendo solo se compromete con git, pero una vez que llegué al/a través del capítulo 3 sentí que realmente podría ser bastante poderoso. Deberías leerlo (¡y a cualquier miembro de tu equipo que no lo haya hecho!) –

+5

Mis dos centavos: Hace poco eché un vistazo a EGit, y hablando como alguien que sabe muy bien git, diría que estás disparando usted mismo en el pie al usarlo. Aún no se han implementado muchas funciones git de uso común, sobre todo * merge * (excepto el avance rápido). Tienes que usar 'git pull' del eclipse externo. Sí, todavía puedes usar EGit para algunas cosas, pero ¿por qué usar un complemento incómodo que te obliga a pasar por muchos menús con el botón derecho, cuando solo puedes usar git/msysgit? Siempre hay git-gui y gitk, si insistes en una GUI, y son más limpios que la interfaz de EGit. – Cascabel

+0

@Jefromi: Estoy empezando a llegar a la misma conclusión. –

Respuesta

3

Nuestro problema fue discutido en esto: Eclipse Community Forums Thread

Parece que actualmente el nativo lstat soporte de Linux no es demasiado fácil de hacer portátil. El Mínimo Denominador Común paradigma que tienen para programar Eclipse en Java hace que sea más difícil hacer cosas nativas de Linux o Mac. (léase: * tos * Windows no admite los enlaces simbólicos * tos *).

La buena noticia es:

Parece posible, pero había necesidad de codificar de una manera que cumpla con su 'Write Once prueba todas partes' estándares de programación. Siento que es importante tener compatibilidad nativa con stat y lstat en Linux cuando se usa EGit debido a este problema, así como Eclipse bug #346079.

Basta con tener instalado EGit provoca una ralentización del & IDE se bloquea cuando se hace una actualización Git :-(

La mala noticia es:

Estos dos errores me están deteniendo el uso de EGit para la mayoría de mi La experiencia del usuario hace que EGit inutilizable sea realmente bueno para poder usar EGit dentro de Eclipse para que las tareas de Mylyn User Stories & se puedan vincular automáticamente a las ramas de función. también sería genial tener las características de la plantilla automática de mensajes de confirmación. Esto haría que poner el estado actual de la tarea & en el mensaje de confirmación sea muy sencillo.

Esto me está molestando casi suficiente que yo estoy lista para ver si es posible hacer algunas secuencias de comandos para consultar Eclipse/Mylyn para el mensaje de confirmación corriente de salida plantilla, y hacer lo git commit desde la línea de comandos usando esto. Sin embargo, no estoy seguro de cómo funcionaría la creación automática de ramas de características por usuario.

Hasta que estos problemas se arreglen, estoy seguro de que muchos de los usuarios EGIT no será feliz :-(

+2

Windows sí admite enlaces simbólicos. Mklink – Jherico

+0

Sí, es cierto que las versiones más nuevas de Windows sí (Win Server 2008, Vista, Win7 y posteriores). Es probable que la gente del eclipse pueda usar esta funcionalidad, pero no estoy seguro de cuán compatibles con versiones anteriores quieren tener con versiones anteriores de Windows. – TrinitronX

+0

El otro problema fue que Java no admitía enlaces simbólicos antes del 1.7 – user1902135

3

Hemos sufrido de este problema abarrotar la pantalla cometer ningún extremo, y haciendo que de vez en cuando a alguien se olvide de incluir un archivo que habían creado.

La solución que se nos ocurrió fue editar manualmente.gitignore archivos a incluir las rutas donde aparecerían los archivos vinculados cuando se eliminan las referencias a los enlaces simbólicos:

/ProjectHomeFolder/.gitignore

Como estábamos trabajando en el Marco de Juego que también corrigió los siguientes: ignora /ProjectHomeFolder/conf/.gitignore
/ProjectHomeFolder/public/.gitignore

simplemente, agregó /ModuleName para cada uno de los módulos que fueron un enlace simbólico y ahora egit los ignora adecuadamente, para lo completo aquí es el contenido completo de mi raíz. archivo gitignore, eso si ts en el directorio raíz del proyecto:

/.project
/.classpath
/.gitignore
/eclipse
/tmp
/crud
/.git
/.settings
/módulos
/conf
/betterlogs-1.0
/crono sello-0,1
/logisimayml-1.5
/betterlogs-1.0
/sass-1.1
/deadbolt-1.4.2
/jquery-1.0
/log4play-0.5
/messages-1.1.1
/navigation-0.1
/jqueryui-1.0
/scaffold-0.1
/table-1.2
/tabularasa-0.2

Cuestiones relacionadas