Estoy buscando algo que funcione como UnionFS en Windows 7. Mi caso de uso: tener un directorio de trabajo de código limpio en un directorio de solo lectura y compilarlo en un sistema de archivos de unión que almacenaría los binarios compilados lógicamente en el mismo lugar, pero físicamente en directorio diferente
Las bibliotecas no funcionan de esta manera, a pesar de que fueron aceptadas como una respuesta en UnionFS por igual en Windows, virtualmente fusionan carpetas : solo muestran directorios de nivel superior en un solo lugar.
El código en sí es enorme (2 GB de datos), y me gustaría evitar copiarlo para cada compilación en mi servidor de compilación.
windows-7
filesystems
liori
fuente
fuente
Respuestas:
¿Podrías usar enlaces simbólicos para fingir esto? http://en.wikipedia.org/wiki/NTFS_symbolic_link No responde la pregunta exacta, pero creo que resolverá el caso de uso que usted ha dado.
fuente
cd SOURCE; find -type d -exec sh -c 'cd BUILDDIR && mkdir "$@"' _ {} +; find -type f -exec sh -c 'mklink "$1" "BUILDDIR/$1"' _ {} \;
o algún equivalente de Windows).Puede hacer unionfs de un hombre pobre con enlaces simbólicos: reproduzca la estructura de directorios de la fuente, pero cree enlaces (simbólicos o duros) para los archivos. Esto debería ser adecuado para su propósito siempre que el sistema de compilación no intente modificar los archivos fuente.
Con GNU cp, es tan fácil como
cp -al
ocp -as
. Pero no sé si hay un puerto de herramientas GNU que entienda los enlaces de Windows.Si necesita llamar al comando mklink, puede hacerlo con las herramientas POSIX (advertencia, escrita directamente en el navegador):
Supongo que hay una forma nativa de Windows que involucra Powershell, pero no tengo idea de cómo se ve. Puede valer la pena investigar si su árbol de directorios es grande y sus discos son rápidos porque la bifurcación en Windows tiende a ser lenta, y los comandos anteriores deben bifurcarse mucho.
fuente
for /R %BUILDDIR% %F in (*.*) do @junction X:%pnxF %F
usar lajunction
herramienta de sysinternals.Sí, hay versiones recientes de Windows , pero no sé cómo usarlo.
fuente
Encontré esto, pero realmente no sé qué tan bien funciona:
fuente