2010-03-06 8 views
25

Tengo una biblioteca estática compilada (con una extensión "a") Quiero incluir en mi repositorio SVN, pero agregarlo nunca funciona (no hay problemas para agregar otros tipos de elementos) . Si cambio la extensión (por ejemplo, "library.a" -> "library.b"), el complemento funciona. ¿Por qué está fallando la extensión "a"? ¿Hay alguna forma de evitar esto sin cambiar el nombre del archivo?SVN no importará * .una biblioteca

+2

¿Qué le dice "svn status --no-ignore"? ¿Ve los archivos * .a? – jtm

+2

El I en el frente significa que el archivo está siendo ignorado. Como lo global no está ignorando, tienes un ignorar local. do "svn propedit svn: ignore" – jtm

+0

Esto también se discutió aquí: http://stackoverflow.com/questions/2125303/svn-propget-svnignore-returns-nothing-but-svn-is-obviously-ignoring-my-files/2125487 # 2125487 – Ether

Respuesta

50

¿Ha comprobado su configuración global de ignorar? En Linux se almacenan en ~/.subversion/config

El valor por defecto en mi máquina es:

global-ignores = *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo 

por lo que ignora los archivos * .a

más información here

Usted debe poder agregar el archivo con

svn add "file" --no-ignore 

omitir cualquier igno re regla establecida.

Si el comando:

svn status --no-ignore 

regresa con I delante tiene Ignorar un local. Ejecutar:

svn propedit svn:ignore 
+0

Gracias por esto. Estoy en Mac OS X y en mi archivo ~/.subversion/config, el parámetro global-ignores está configurado por defecto: 'global-ignores = * .o * .lo * .la # * #. *. rej * .rej. * ~ * ~. # * .DS_Store' que no incluye * .a. – Jon

+4

'svn add" library.a "--no-ignore' trabajado. ¡Gracias! – Jon

+2

Estoy en OS-X (10.8.latest) y mi global-ignores está comentada, lo que leo en el sentido de "sin ignorar globalmente". Sin embargo, cada vez que agrego un directorio con un archivo .a de biblioteca (ejemplo: libs de terceros, como Flurry), siempre omite el archivo .a. Entonces mi cliente no puede construir, luego vuelvo y 'svn add somelib.a' explícitamente, entonces todo está bien. ¿Hay alguna forma de ** desactivar ** este comportamiento predeterminado de "omisión de todos los .a-s"? ¡Gracias! – Olie

2

En Mac OS X (Lion) Estoy usando SCPlugin (http://scplugin.tigris.org/).

Esto agrega una ventana emergente agradable con comandos SVN y me permite agregar archivos * .a cuando svnx o xcode no lo permiten.

Sospecho que en realidad es un error ya que ignora claramente las configuraciones de ignorar correctas (irónicamente), pero para aquellos que no quieren meterse con la terminal, está resultando útil.

EDITAR: SmartSVN también le permite ver archivos ignorados para que puedan agregarse como cualquier archivo normal. Simplemente revise las opciones de 'archivos ignorados' en el menú de visualización.

1

Por cierto, si usted está utilizando la importación SVN (es decir, no es una copia de trabajo), puede anular los ignora globales con:

--config-option=config:miscellany:global-ignores=[new ignores] 
0

He conocido a esta pregunta hace poco, este es mi camino :

svn import --no-ignore --force svn://destination 
1

podemos añadir biblioteca en svn:

svn add library.a --no-ignore 

Después svn add necesita ser actualizado:

svn update 

confirmar los cambios en el uso de svn:

svn commit -m "library.a added on svn" 
3

Por lo tanto, sugiero que en realidad editar el archivo ~/.subversion/config para permitir .a nuevo archivos:

global-ignores = *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.pyc *.pyo 
#global-ignores = *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo 

Porque Tengo muchos de esos .a archivos en mis proyectos.

+0

Tuve que hacer lo mismo con 1.7. Incluso cuando se comentaron, SVN decidió ignorar los archivos de todos modos. Violación del principio de menor sorpresa con seguridad. ¿Qué no estoy entendiendo? –

Cuestiones relacionadas