Uso Unison para sincronizar proyectos de sitios web en mis máquinas, en una de mis máquinas me gustaría evitar sincronizar (en ambos sentidos) algunas carpetas contenidas en las carpetas que veo:
/vendor
/node_modules
/storage/debugbar
/staroge/framework
Este es el perfil que utilizo para el archivo .prf que utilizo para ejecutar la sincronización, puede ver que las carpetas están allí en las líneas de ruta de ignorar.
# Roots of the synchronization
root = /Volumes/Data HD
root = ssh://Server//volume1/My Files
# Paths
path = Sites
# Some regexps specifying names and paths to ignore
ignore = Name */@eaDir
ignore = Name */_notes
ignore = Name .DS_Store
ignore = Name SyncToy_*.dat
ignore = Path */Archives
ignore = Path */tools
ignore = Name *.sublime*
# Ignore laravel composer and npm folders
ignore = Path {Sites/CRMJobs/node_modules}
ignore = Path {Sites/Loot/node_modules}
ignore = Path {Sites/Pompous/node_modules}
ignore = Path */vendor
ignore = Path */node_modules
ignore = Path */storage/debugbar
ignore = Path */storage/framework
log = true
times = true
auto = true
Puedes ver que en algunos casos incluso he mencionado explícitamente parches completos para ignorar, pero todavía están sincronizados.
¿Alguien puede decirme qué estoy haciendo mal?
.prf
se tiene en cuenta el archivo en la máquina que inicia la conexión. ¿Podría ser el caso de que esté iniciando la sincronización desde una máquina que no tiene el.prf
archivo correcto ? Por cierto, ¡quizás también quieras considerar sincronizar esos.prf
archivos!Sites
directorio, pero dependiendo de la máquina que esté usando, solo sincronizaré ciertos subdirectorios.unison
no tiene un.prf
archivo con lasignore
líneas?Respuestas:
Vea este bit en la Especificación de ruta en el manual de Unison. En lugar de
Path
usted debe usarName
.fuente