Programa o flujo de trabajo para actualizar un solo archivo y actualizar todas las instancias del mismo en cualquier otro lugar

1

¿Existe un programa o un flujo de trabajo que sea mejor para trabajar con un solo archivo y al guardar para actualizar todas las instancias del archivo en la computadora, ya sea en carpetas de diferentes proyectos?

Editar (Respuesta a los comentarios): Bueno, tengo archivos javascript y css que se comparten entre varios proyectos. Cuando actualizo o modifico un archivo, me veo obligado a copiar y pegar manualmente para reemplazar los mismos archivos en todos los otros proyectos que dependen de los mismos archivos.

    
pregunta lislis 24.09.2013 - 20:29

2 respuestas

1

Lo que estás describiendo podría lograrse con un enlace rígido.

Los enlaces duros significan que un archivo en la unidad se ve como un archivo en varias carpetas.

Entonces, si tuviera un archivo recipe.doc y lo almacenara en su carpeta ~ / Documentos, podría vincularlo en otro lugar: tal vez / Usuarios / Compartidos y ~ / Proyectos / Cocinar / Pasta / recipe.doc

Entonces, el recuento de enlaces sería 3 para ese archivo y solo una receta tomaría espacio en el disco. Si eliminó el archivo en / Usuarios / Compartido, en lugar de eliminar el archivo, solo elimina ese enlace y disminuye el contador del archivo a 2. Cuando el último enlace desaparece, tiene un número de enlaces de 1 y el archivo permanece. pero no hay copias en otras carpetas.

Si desea obtener más información, el comando de enlace es un comando de terminal escrito como ln .

También, puedes revisar ese archivo en algún tipo de sistema de control de código como git y escribir el proceso de pago en las carpetas de tu gusto. Realmente depende de cuánto tiempo ahorrará o si solo desea escribir una secuencia de comandos shell rápida y sucia para enviar el archivo modificado a otra parte (o use rsync para copiar solo los bits modificados y ser muy eficiente).

    
respondido por el bmike 24.09.2013 - 21:34
1

Teóricamente, podría usar Folder Actions para observar cambios en archivos compartidos y copiarlos a todos los otros proyectos / carpetas. En la práctica, esto realmente no funcionará porque las Acciones de carpeta tienden a no ser muy confiables. Descubrí que Hazel funciona bastante bien para esto, aunque muchas cosas pueden automatizarse de esa manera.

Dependiendo de sus requisitos, es posible que también desee pensar en estructurar sus archivos de manera diferente, ya que la duplicación de los archivos conducirá a problemas, especialmente si usa el control de versiones, trabaja en configuraciones más grandes o si hay varias personas involucradas. Así que en lugar de tener varios proyectos en una estructura como

+ project-1
  + common-file-1
  + common-file-2
  + specific-file-1.1
  + specific-file-1.2
+ project-2
  + common-file-1
  + common-file-2
  + specific-file-2.1
  + specific-file-2.2

y probablemente compilándolos / empaquetándolos desde allí, podrías cambiar a algo como

+ common
  + common-file-1
  + common-file-2
+ project-1
  + src
    + specific-file-1.1
    + specific-file-1.2
  + build

y luego use un script de compilación en project-1 para copiar todos los archivos relevantes de common y project-1/src en project-1/build para su uso posterior. Puede tomar algún esfuerzo cambiar tu estructura actual por algo así, pero puede traer beneficios a largo plazo. Si desea profundizar en esto, Pragmatic Project Automation es un buen lugar para comenzar.

    
respondido por el nohillside 25.09.2013 - 18:46

Lea otras preguntas en las etiquetas