Encontre o repositório GIT em um diretório específico e execute o comando git bundle

Encontre o repositório GIT em um diretório específico e execute o comando git bundle

Estou usando o Ubuntu 12.04 TLS no qual tenho um repositório git em um diretório específico, o que estou tentando é fazer o backup agendado do repositório e colocá-lo em um diretório específico que pode ser enviado por correio.

No processo, descobri como encontrar todo o repositório git em um diretório específico pesquisando no Google e encontrei o comando abaixo

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

mas contém o caminho como

/home/mysys/D/testing/.git

que lista todos os arquivos git associados ao diretório e está funcionando, mas o que eu preciso para executar git bundle create directoryname.bundle --all para torná-lo mais automatizado, no qual tentei o seguinte

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

O script bash acima retorna

fatal: Invalid gitfile format: .git

Como fazer isso para que funcione de maneira robusta.

Desde já, obrigado.

Responder1

Você quer seremo diretório controlado pelo git quando git bundleé executado, então usefind ... -execdir ... \;

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

Isso criará um backup.bundle em todos esses diretórios. A partir daí você pode movê-los ou processá-los com mais scripts. Mas o lado agrupado das coisas é resolvido.

informação relacionada