Encontre o Repositório do GIT no diretório específico e no comando exec git bundle

1

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

No processo que eu conheço para encontrar todo o repositório git no diretório específico por googling eu encontrei este 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 no diretório e ele está funcionando, mas o que eu preciso para executar git bundle criar directoryname.bundle --all para torná-lo mais automatizado em que eu 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 ele funcione de forma robusta.

Obrigado antecipadamente.

    
por Vignesh Pichamani 31.03.2016 / 13:57

1 resposta

2

Você quer estar no diretório controlado pelo git quando git bundle é executado, então use find ... -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 empacotado das coisas é tratado.

    
por Oli 31.03.2016 / 14:29