No quiero ningún directorio con nombre build
odist
que entre en mi SVN sin importar qué tan profundo esté en el árbol.
es posible? En git acabo de poner
build
dist
en mi .gitignore
en la raíz y recursivamente ignora. ¿Cómo hago esto con svn? Por favor, no me digas que haga un propset en cada directorio principal ...
svn
version-control
ignore
Paul Tarjan
fuente
fuente
Respuestas:
A partir de la subversión 1.8, ahora existe la
svn:global-ignores
propiedad que funciona comosvn:ignore
pero de forma recursiva (así que configure esto en su directorio de nivel superior)fuente
global-ignores
en el~/.subversion/config
archivo, pero también la propiedad heredablesvn:global-ignores
establecida en un directorio en un repositorio de SVN, así comosvn:ignore
, ¿puede proporcionar un resumen de estas diferentes opciones y cómo se comparan? ¿Cómo--recursive
les afecta también la bandera?obj
carpeta todavía apareció] ( stackoverflow.com/questions/50960188/… ), ¿pueden ayudarme a echarle un vistazo?svn propset
toma--recursive
como opción, por lo que puede hacer esto, con dos inconvenientes:svn:ignore
propiedad cada vez que agrega un nuevo directoriofuente
No es posible hacer esto. Solo hay dos mecanismos de ignorar en Subversion,
svn:ignore
(que no es recursivo) yglobal-ignores
(que no es específico de un repositorio).fuente
Esto funciona para mi:
fuente
agregue a su archivo ~ / .subversion / config o / etc / subversion / config:
fuente
Es posible ignorar los directorios build y dist eliminando los directorios del control de versiones. El truco consiste en usar la opción --keep-local para dejar el directorio en la copia de trabajo. Por ejemplo:
Subversion ya no rastreará el directorio, pero seguirá estando allí en su copia de trabajo para contener la salida del compilador, etc.
salud, Joe
fuente
Por ejemplo, la estructura de carpetas:
Es bueno hacer una eliminación svn del contenido dist antes del comando ignore, por lo que para las ramas dist estará vacío.
Funcionó para mí, probado hoy. Aquí está la página que lo explica un poco.
fuente
Para ignorar todos esos archivos en todos los repositorios, puede agregar un
global-ignores
a su archivo de configuración por usuario.Ver opciones de configuración
Desafortunadamente, no hay una opción por repositorio para hacer esto. Básicamente es por usuario o por directorio, por lo que el múltiplo
svn:ignores
es probablemente el camino a seguir, por molesto que pueda ser.fuente
Primero debe moverse a la carpeta superior de su copia de trabajo y crear un archivo allí (digamos .svnignore) donde debe colocar todos los patrones que desea que se ignoren, por ejemplo (para un proyecto de Android):
Luego ejecuta el siguiente comando (recuerde que debe estar en la carpeta superior de su copia de trabajo):
Esto solo funcionará para carpetas y archivos que aún no están bajo el control de versiones. Si desea que una carpeta (o archivo) que se está versionando comience a ser ignorada también, elimínela del control de versiones ejecutando el comando:
Obtuve todo esto de este gran artículo que lo explica todo: http://superchlorine.com/2013/08/getting-svn-to-ignore-files-and-directories/
fuente
En la subversión 1.8, es posible establecer omisiones globales para el repositorio actual.
También puede crear una carpeta llamada .svnignore y escribir condiciones.
recuerde una condición por línea, configurar build / * o dist / debug es en vano. Luego haz el comando:
fuente
Cree un archivo y agregue sus ignorados en él
ingore-list:
luego aplica el siguiente comando
directorio es el nombre de su directorio, puede subcategorizar también directorio / subdirectorio. O use * para anotar el directorio actual en el que se encuentra.
Esto es asumiendo que está usando bash como su shell
fuente
donde svn_ignore_rules es un archivo que contiene las reglas de ignorar, una por línea
Por supuesto, debe volver a ejecutarlo cada vez que agrega un nuevo directorio a su repositorio.
svn_ignore_rules también se puede considerar que está registrado en el repositorio, para ser reutilizado por otros usuarios que tengan acceso de escritura al repositorio
fuente
fuente
set EDITOR=notepad
,svn propedit svn:ignore .
funcionó bien ...Dado que parece que no hay solución para este problema probablemente común, me gustaría compartir nuestra solución. Como los demás ya dejaron en claro, puede usar la
svn:ignore
propiedad, esto se aplica a un solo directorio (y, por lo tanto, no a los nuevos), o usa laglobal-ignores
que se aplica a un solo usuario (pero no pertenece al repositorio).Para hacer la vida un poco más fácil, creé un archivo reg llamado
Settings.Svn.reg
y lo agregué a la raíz del repositorio. Ahora todo el mundo puede hacer doble clic en este archivo de registro una vez y habrá terminado la configuración.Realmente agradecería una solución dentro del repositorio SVN, así que si alguien lo sabe, ¿le importaría compartirla?
fuente
Una forma sería agregar algún tipo de verificación al gancho previo o posterior a la confirmación, pero es una nota directa si no es propietario del servidor de repositorio.
fuente