tutorial tortoise repositorio español descargar crear clonar archivos svn tortoisesvn version-control

tortoise - svn windows



Ignorar recursivamente los archivos en todo el árbol fuente en subversión (3)

Como señala @ 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 lugar de propset tampoco funciona.

La forma correcta de agregar múltiples archivos recursivamente es poner sus nombres en una lista separada por nuevas líneas en la propiedad svn:ignore establecida con svn propset svn:ignore "[LIST]" .

Por ejemplo:

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

Por supuesto, los > son solo los mensajes de shell.

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

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.

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

Si svn propedit svn: ignore "." 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)?

Por favor, avíseme si necesito aclarar. ¡Gracias!


Solo una actualización: Subversion 1.8.0 introdujo Propiedades heredadas y Configuración dictada del repositorio (Para autopropulsiones e ignora) , que también se puede usar 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 que svn:ignore :

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

Más información está disponible en las Notas de la versión de Subversion 1.8.0 .


Editar

La respuesta original proporcionada a continuación fue dada antes de Subversion v1.8 que introdujo una manera de establecer el nivel de repositorio predeterminado ignorar (llamado svn:global-ignores ) sin sobreescribir / reemplazar la propiedad svn:ignore en el directorio raíz y cada subdirectorio. Desde 1.8, la mejor manera de lograr lo que le gustaría 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 siguiente; sin embargo, tenga en cuenta que esto supone que está de acuerdo con reemplazar / sobreescribir la propiedad svn:ignore en cada subdirectorio ... esto puede estar bien para un repositorio pequeño / nuevo pero probablemente no es lo que quiere si tiene un gran / repositorio antiguo en el que algunos subdirectorios pueden tener propiedades svn:ignore independientes que no desea sobreescribir.

Respuesta original

Puede usar la opción "-R" o "--recursiva" 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