actualizar el repositorio git con un script de Apple

1

Quiero actualizar mi almacenamiento en línea git Bitbucket con Apple script. Este es el código que funciona en la Terminal, pero no cuando ejecuto el script Apple.

cd /Users/mainuser/Desktop/Projects git add -A
git commit -m fromAppleScript
git push

creado en script de apple:

        say "updating backup"
        do shell script "cd /Users/mainuser/Desktop/Projects git add -A"
        do shell script "cd /Users/mainuser/Desktop/Projects git commit -m fromAppleScript"
        do shell script "cd /Users/mainuser/Desktop/Projects git push"

Estoy un poco sorprendido de por qué este código no funciona. ¿Puedes ayudarme con este problema?

    
pregunta sanjihan 27.04.2016 - 12:50

1 respuesta

2

Parece que estás usando git como una copia de seguridad del sistema de archivos. ¿Has considerado git-annex ?

Learning git

git puede ser difícil de aprender y depurar . Considere dominar los pasos que desea a través de Terminal.app, con la ayuda de Git Book .

Soporte de BitBucket proporciona una gran cantidad de ejemplos y flujos de trabajo para intentar y aprender. Una vez que confíe en ese proceso, la automatización a través de AppleScript será mucho más fácil.

Corrección del script de shell

Para comenzar, hay un problema con el AppleScript. El script pasado a do shell script devolverá un error:

do shell script "cd /Users/mainuser/Desktop/Projects git add -A"

Dentro de estas citas, está emitiendo dos comandos: uno para cambiar el directorio y el segundo para agregar archivos a git. Estos dos comandos deben separarse con un punto y coma:

do shell script "cd /Users/mainuser/Desktop/Projects; git add -A"

Un mejor enfoque aún sería unir los comandos con && . Esto significará que si el primer comando falla, el segundo comando no se ejecuta. Este enfoque aborda el problema de un directorio faltante o renombrado:

do shell script "cd /Users/mainuser/Desktop/Projects && git add -A"

Como alternativa, para evitar problemas de directorio de trabajo, intente pasar la ruta completa a los comandos git :

do shell script "git add -A '/Users/mainuser/Desktop/Projects'"
    
respondido por el Graham Miln 27.04.2016 - 15:46

Lea otras preguntas en las etiquetas