svn - tortoise - ¿Cómo se incluye/excluye cierto tipo de archivos en Subversion?
svn tortoise tutorial (6)
Me confundo con la jerga de incluir / excluir, y mi cliente SVN real no parece tener (o no he podido encontrarlo fácilmente) una opción simple para agregar o eliminar cierto tipo de archivos para el control de versiones .
Digamos, por ejemplo, que he agregado toda la carpeta de Visual Studio, con sus soluciones, proyectos, archivos de depuración, etc., pero solo quiero versionar los archivos fuente reales. ¿Cuál sería la forma más sencilla de hacer eso?
En el nivel más bajo, SVN le permite ignorar ciertos archivos o patrones con el atributo svn:ignore . Los complementos VS para SVN como VisualSVN ignorarán automáticamente esos archivos en su nombre. Si está utilizando TortoiseSVN , puede hacer clic con el botón derecho en los archivos y carpetas en el Explorador y seleccionar Agregar a la lista de ignorar .
Esto se puede lograr usando la propiedad svn:ignore o la propiedad global-ignores en su archivo ~/.subversion/config
. (Desplácese hasta la parte superior del primer enlace para ver las instrucciones sobre las propiedades de edición).
Al usar svn propset
o svn propedit
en un directorio, podrá hacer que Subversion ignore todos los archivos que coincidan con ese patrón dentro del directorio específico. Sin embargo, si cambia los ~/.subversion/config
globales en la ~/.subversion/config
[miscellany]
, Subversion ignorará dichos archivos sin importar dónde se encuentren.
Otra forma, al usar TortoiseSVN, puede seleccionar "Confirmar ..." y luego hacer clic derecho en un archivo y pasar a la lista de cambios "ignorar-en-comprometer".
Probablemente sea más seguro excluir determinados tipos de archivos, en lugar de elegir los que desea incluir, ya que podría agregar un tipo nuevo y no darse cuenta de que no tenía versiones.
En una base por directorio, puede editar la propiedad svn:ignore .
correr
svn propedit svn:ignore .
para cada directorio relevante para que aparezca un editor con una lista de patrones para ignorar.
Luego, coloque un patrón en cada línea correspondiente al tipo de archivo que desea ignorar:
*.user
*.exe
*.dll
y que tienes.
Alternativamente, como se ha sugerido, puede agregar esos patrones a la propiedad global-ignores
en su archivo ~ / .subversion / config (o "%APPDATA%/Subversion/config"
en Windows - ver Diseño del Área de Configuración en el libro rojo de frijoles para más información ). En ese caso, separe los patrones con espacios. Aquí está el mío. #
al comienzo de la línea introduce un comentario. He ignorado los archivos Ankh .Load y todos los archivos * .resharper.user:
### Set global-ignores to a set of whitespace-delimited globs
### which Subversion will ignore in its ''status'' output, and
### while importing or adding files and directories.
# global-ignores = *.o *.lo *.la #*# .*.rej *.rej .*~ *~ .#* .DS_Store
global-ignores = Ankh.Load *.resharper.user
Usando la propiedad svn:ignore
, puede usar comodines.
Ver la publicación de blog svn:ignore .
Sé usando TortoiseSVN que puedo hacer clic en una carpeta raíz donde tengo algo prestado y puedo agregar propiedades arbitrarias seleccionando la opción de menú "Propiedades". En este caso, solo debe especificar patrones de archivos para excluir.
La entrada del blog para cosas de línea de comando, pero estoy seguro de que funcionará bien con cualquier cliente que estés usando.