2010-01-24 21 views
7

Estoy tratando de agregar un proyecto de iPhone existente a una cuenta de subversión en unfuddle.com.svn propget svn: ignorar. no devuelve nada, pero svn obviamente ignora mis archivos

Todo parece sencillo, excepto algunos archivos .a que se ignoran. Sé que se ignoran porque no los veo en estado svn a menos que use el indicador --no-ignore.

Cuando corro

svn propget svn:ignore . 

me sale ninguna salida. Para asegurarse de que no estaba loca me encontré

svn propget --xml svn:ignore . 

y obtener este

<?xml version="1.0"?> 
<properties> 
</properties> 

que significa que no hay entradas en la propiedad ignorar?

¿Cómo puedo saber de dónde viene esta ignorancia?

+1

¿Qué ocurre (es decir, qué devuelve) cuando intenta 'svn agregar' un archivo explícitamente? – Ether

+0

Me suena como una pregunta de SuperUser ... – Noldorin

+1

Pensé que los problemas con las herramientas de desarrollo eran un juego justo en SO. – GraemeF

Respuesta

12

Nuevo día. Cabeza clara.

Gracias por la ayuda, sin duda me lleva en la dirección correcta.

La respuesta es que hay una lista de omisión global predeterminada que está integrada en la propia subversión, no en los archivos de configuración, que era de donde venía el * .a ignorar.

Los ignora globales en mi fichero de configuración se veía así:

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

que pensé que estaba bien, porque yo no quería hacer caso omiso de cualquier cosa. Me equivoqué porque entonces la subversión aplica sus ignoramientos globales por defecto apenas documentados. He cambiado a esto, tenga en cuenta la exclusión de '* .a'

global-ignores = *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.pyc *.pyo 
    *.rej *~ #*# .#* .*.swp .DS_Store 

En este punto * .a archivos ya no se ignora, y mi archivo .DS_Store aún se ignora, y todo está bien en mi mundo .

Como se sugirió GraemeF, propget no recupera los valores globales para svn: ignorar. Como sugirió Ether, puede agregar archivos ignorados nombrándolos explícitamente.

La mejor enlace que encontré fue aquí: http://svn.haxx.se/users/archive-2009-02/0725.shtml

Este post me dice que hay un valor predeterminado no vacío para-ignores globales que se utiliza si-ignores globales no se encuentra en el archivo de configuración .

+0

¡Gracias, esto funcionó para mí! Si usa Syncro SVN, vaya a Opciones> Configuración global en tiempo de ejecución> Editar archivo 'config'. Realice los cambios anteriores, guarde, reinicie y actualice. Además, puede ver archivos ignorados en la pestaña Copia de trabajo haciendo clic en Mostrar archivos ignorados en el icono de Configuración en la parte superior derecha de la barra de herramientas. – Bushrod

1

También puede tener patrones globalmente ignorados definidos en su archivo de configuración de Subversion, por lo que tal vez *.a se ignora allí. Vea el Config section del libro de Subversion.

+0

Comprobé ~/.subversion/config, pero la configuración "global-ignores" está comentada por defecto. Pensé que ignorar el conjunto en la configuración se recuperaría con "svn propget svn: ignorar". – CornPuff

+0

No lo he comprobado, pero no creo que un 'propget' los incluya porque no son propiedades en el directorio, como tal. – GraemeF

2

Puede agregar explícitamente el archivo a través del svn add <filename> si no lo recogen automáticamente.

Los archivos de configuración de Subversion pueden tener archivos ignorados ("global-ignores") - generalmente están en ~/.subversion/config y /etc/subversion/config, pero también hay otras ubicaciones; ver http://svnbook.red-bean.com/en/1.4/svn.advanced.confarea.html.

¿Qué comando estaba usando para agregar los archivos? Si fue svn add *, ¿podría ser tan simple como el archivo que comienza con .?