Agregue AppleScripts al repositorio de Git


2

Tengo algunos archivos AppleScript que me gustaría compartir con la comunidad en GitHub .

Los archivos se encuentran en dos directorios distintos:

  • ~ / Biblioteca / Scripts
  • ~ / Library / Application Support / Microsoft / Office / Elementos del menú de script de Outlook

Con esta estructura preservada, podría editar los archivos in situ, sin tener que mover constantemente archivos hacia / desde un directorio de script unificado. a Preguntas:

  1. ¿Puede un solo repositorio contener múltiples directorios no relacionados?
  2. Si un contribuyente bifurca mi repositorio ( $ git clone https://github.com/username/applescript.git), ¿se preservará la estructura del directorio?

** editar 1 **

  1. Hablando logísticamente, ¿cómo y dónde crearía el repositorio local de Git? Parece que agregarlo a ~ / Library / Scripts sería lo más fácil.
  2. ¿Las aplicaciones individuales reconocen incluso los scripts que se han ubicado en la carpeta ~ / Library / Scripts / Applications / *? ¿O es simplemente para fines organizativos?

Desafortunadamente, Outlook para Mac 2011 parece reconocer los scripts ubicados en la ~/Library/Scripts/Applications/Outlookcarpeta, alias (no ha probado un enlace simbólico) a la ~/Library/Application Support/Microsoft/Office/Outlook Script Menu Itemscarpeta.

** editar 2 **

Los scripts a los que hace referencia un enlace simbólico no son reconocidos por el menú AppleScript de Outlook.

$ cd ~/Library/Application Support/Microsoft/Office/Outlook Script Menu Items
$ ln -s ~/Library/Scripts/Applications/Outlook Outlook

1
Para simplificar las cosas para las personas que usan sus scripts, simplemente copiaría todos los scripts en una carpeta separada para el repositorio de git ( ~/applescripts, por ejemplo), los compartiría e incluiría instrucciones sobre dónde deberían ubicarse los scripts en el archivo README.
Dan J

Respuestas:


2

Recomiendo mantener git fuera de sus ~/Librarycarpetas, tanto para mantener las cosas simples para las personas que usan sus scripts, como por razones de estabilidad (diría que el contenido de la Biblioteca debe considerarse un detalle de implementación de OS X en el que no puede confiar, no cambiar en ti en futuras versiones).

En cambio, simplemente copiaría todos los scripts en su forma textual en una carpeta separada para el repositorio de git ( ~/applescripts, por ejemplo), compartiría eso e incluiría instrucciones sobre dónde debe instalar el usuario los scripts en su archivo README.


+1 "Recomiendo mantener git fuera de tus carpetas ~ / Library" Creo que haces un buen punto sobre no poner el repositorio git en la carpeta ~ / Library.
Kaydell

1

Idealmente, AppleScripts debería guardarse como texto (con la extensión .applescript) para aprovechar al máximo las características de git que funciona mejor con archivos de texto.

Posiblemente podría agregar AppleScripts como binarios (con la extensión .scpt) que funcionarían. Quiero decir que puedes revisar los binarios dentro y fuera de un repositorio git.

Creo que podría colocar su repositorio git local en un super-directorio común como:

~ / Biblioteca

  1. ¿Puede un solo repositorio contener múltiples directorios no relacionados?

Sí.

  1. Si un contribuyente bifurca mi repositorio ($ git clone https://github.com/username/applescript.git ), ¿se preservará la estructura del directorio?

Eso creo. El otro usuario tendría que colocar el repositorio bifurcado en el lugar correcto: ~ / Biblioteca para que los scripts funcionen como el suyo. Aunque podrían colocar el repositorio bifurcado en cualquier lugar si quisieran.

Puede intentar bifurcar el repositorio en otra cuenta en su propia computadora para probar cómo funcionaría esto para otras personas.

Una alternativa a lo que está proponiendo es tener dos repositorios git locales, uno para cada carpeta.


Estoy de acuerdo: es mejor controlar la versión de los .applescriptarchivos. Puedo agregar instrucciones al archivo README sobre cómo compilarlo (⌘K).
craig
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.