2009-08-05 7 views
46

No soy nuevo en Subversion, pero hasta ahora he usado Tortoise y nunca la línea commadn. Mi pregunta es, ¿cómo ignoro todos los archivos como * .o de la fuente ENTERA, no solo la raíz.Ignorar recursivamente archivos en todo el árbol fuente en subversión

Por ejemplo, si tengo los siguientes archivos: /myfile.o /folder1/myfile2.o /folder1/folder1.1/myfile3.o /folder2/myfile4.o

Si SVN propedit svn: ignorar "." en el directorio raíz, y agregue * .o, ignorará myfile.o, pero no ignorará /folder1/myfile2.o, /folder1/folder1.1/myfile3.o, /folder2/myfile4.o. ¿Hay alguna manera de agregar * .o para un proyecto completo (no puedo hacerlo para todo el repositorio, lo que sé que se puede hacer, porque este proyecto está en un repositorio con muchos otros proyectos)?

Háganme saber si necesito aclararme. ¡Gracias!

Respuesta

63

Editar

La respuesta original proporcionada a continuación se le dio antes de v1.8 Subversion que introdujo una manera de establecer el nivel de repositorio predeterminado ignorar (llamado svn:global-ignores) sin anulando/sustitución de la propiedad svn:ignore en el directorio raíz y cada subdirectorio. Puesto que 1,8, la mejor manera de lograr lo que se desea es invocar el siguiente comando (el crédito va a TManhente):

svn propset svn:global-ignores '*.o' . 

En versiones anteriores (y en versiones posteriores), puede seguir utilizando el enfoque indicado en la respuesta original a continuación; sin embargo, tenga en cuenta que esto supone que está de acuerdo con reemplazar/sobrescribir la propiedad svn:ignore en todos y cada uno de los subdirectorios ... esto puede estar bien para un repositorio pequeño/nuevo pero probablemente no es lo que usted quiere si tiene un gran/viejo repositorio en el que algunos subdirectorios pueden tener propiedades independientes svn:ignore que no desea sobreescribir.

Respuesta original

Puede utilizar el "-R" o la opción "--recursive" con "svn propset", como en el siguiente comando:

 
svn propset svn:ignore '*.o' . --recursive 

Más información

Para ambos casos, puede usar el siguiente comando para obtener más información sobre svn propset:

 
svn help propset 
+0

¡Gracias, funcionó de maravilla! Todavía estoy aprendiendo su documentación. Como dije, hasta ahora solo he usado tortugas y eso te da lindos cuadros de diálogo y explicaciones :). – alanquillin

+1

tiene también --force 'svn propset svn: ignore" * .pdb * .db "c: \ portal \ --recursive --force' –

+43

La respuesta aceptada borrará todas las demás svn: ignore la configuración si tiene ellos. entonces puede que quieras http://stackoverflow.com/questions/3086418/svn-revert-all-properties-changes –

38

sólo una actualización: Subversion 1.8.0 introducido heredada Propiedades y configuración Dictado repositorio (Para auto-props e ignora), que también se pueden utilizar en este caso.

Puede establecer la nueva propiedad svn:global-ignores en la ruta raíz. Solo "afectará los subárboles enraizados en la ruta en la que se establece la propiedad".

Esta nueva propiedad se establece igual svn:ignore:

svn propset svn:global-ignores '*.o' . 

Más información está disponible en la Subversion 1.8.0 Release Notes.

+0

Realmente me gustaría saber cómo configurarlo usando auto-props? – mgouin

3

Como señaló @ hackmaster.a en un comentario, el ejemplo dado en la respuesta aceptada tiene el efecto secundario de borrar todas las configuraciones anteriores de svn:ignore. El uso de propedit en lugar de propset tampoco funciona.

La forma correcta de añadir varios archivos de forma recursiva está poniendo sus nombres en una lista separada por nuevas líneas en el conjunto svn:ignore propiedad con svn propset svn:ignore "[LIST]" .

Por ejemplo:

svn propset svn:ignore -R "*.pkl 
    > *.class 
    > Thumbs.db 
    > data.tmp" . 

Por supuesto, los > 's son solo las indicaciones de shell.

Este comando cambiará las propiedades svn:ignore del directorio actual . y de cada una de sus subcarpetas recursivamente.

+0

Usando 1.7.4 elimina todo el svn: ignora – lrkwz

+0

Gracias. Funciona con svn, versión 1.8.10. –

Cuestiones relacionadas