web-dev-qa-db-fra.com

Recherchez le référentiel GIT dans un répertoire spécifique et exécutez la commande bundle git

J'utilise ubuntu 12.04 TLS dans lequel j'ai un référentiel git dans un répertoire spécifique, ce que j'essaie est de prendre la sauvegarde planifiée du référentiel et de la placer dans un répertoire spécifique qui peut être envoyé par courrier.

Dans le processus, je fais connaissance pour trouver tous les dépôts git dans un répertoire spécifique en recherchant sur Google j'ai trouvé cette commande ci-dessous

find /home/mysys/D/ -name .git -type d -Prune

mais il contient le chemin

/home/mysys/D/testing/.git

qui répertorie tous les fichiers git associés dans le répertoire et cela fonctionne, mais ce dont j'ai besoin pour exécuter git bundle create directoryname.bundle --all pour le rendre plus automatisé dans lequel j'ai essayé ce qui suit

find /home/mysys/D/ -name .git -type d -Prune -exec git bundle create test.bundle --all {} \;

Le script bash ci-dessus renvoie

fatal: Invalid gitfile format: .git

Comment faire pour le rendre robuste.

Merci d'avance.

1
Vignesh Pichamani

Vous voulez être in le répertoire contrôlé par git lorsque git bundle est exécuté, utilisez donc find ... -execdir ... \;

find /home/mysys/D/ -type d -name .git -Prune -execdir git bundle create backup.bundle --all \;

Cela créera un backup.bundle dans tous ces répertoires. De là, vous pouvez les déplacer ou les traiter avec plus de scripts. Mais le côté groupé des choses est géré.

2
Oli