2011-11-17 6 views
6

Tengo un repositorio con un submódulo. Para mí, este submódulo es de solo lectura, así que estoy usando submodule.Module.ignore = dirty.Ignorar el estado sucio del submódulo en commit

Esto funciona bien para 'estado de git', pero cuando confirmo, todo el submódulo se escanea y en los comentarios de git puedo ver que está sucio.

¿Hay alguna manera de evitar esto?

Respuesta

2

Si realmente no desea ver cambios en el submódulo, puede agregar una línea a .git/info/exclude dentro del submódulo con un patrón '*'.

Esto dará como resultado que el submódulo siempre se informe a sí mismo como limpio, independientemente de lo que haya cambiado.

echo "*" >> path/to/submodule/.git/info/exclude 
+1

Es posible que desee evitar ese '*' para evitar la expansión del shell. –

+0

Gracias - se arregló. – Eric

+0

Esto ayuda, pero también evita ver los cambios desde dentro del submódulo. Solo quiero que se ignoren externamente ... – orgads

-1

es probable que desee para editar el archivo .git/info/exclude, añadir un patrón para ser ignorado. Pero para un submódulo, esto no funcionará. En su lugar, debe editar .git/submodule_foo/info/exclude, desde la raíz del repositorio de Git.

Esto se debe a que, en las versiones más nuevas de Git, la ruta submodule_foo/.git es un archivo, no un directorio. Su contenido nos permite saber dónde están los archivos .git del submódulo:

gitdir: ../.git/modules/submodule_foo 
+0

Esto no está relacionado con la pregunta. La pregunta era sobre ignorar por completo el estado del submódulo interno mientras se está cometiendo en el supermódulo. – orgads

Cuestiones relacionadas