Buscando todos os repositórios Git em segundo plano

4

Estou pensando em configurar um cronjob para buscar todos os meus repositórios de vez em quando, para ter o status atual pronto, caso eu esteja offline. Algo como o seguinte (embrulhado para melhor legibilidade):

find $HOME -name .git -type d -printf "%h
find $HOME -name .git -type d -printf "%h%pre%" |
  parallel --gnu -0 --delay 0.2 --jobs 100 --progress \
  'cd {}; git fetch --all --quiet'
" | parallel --gnu -0 --delay 0.2 --jobs 100 --progress \ 'cd {}; git fetch --all --quiet'

Eu realmente não me importo com o que acontece se a busca falhar - pode ser bem-sucedida na próxima vez. Talvez a saída de erro possa ser registrada. Minhas perguntas são:

  • E se o processo de segundo plano buscar um repositório Git enquanto eu me comprometo com ele?
  • Você pode recomendar outras opções para parallel para torná-lo realmente à prova de falhas?
por krlmlr 20.05.2014 / 11:17

1 resposta

4

Venho recuperando meus repositórios locais do Git há dois anos, sem nenhum sinal de problema. Atualmente, o crontab contém algo como

savelog -n -c 400 ~/log/git-fetch.log
find ~/git -type d -execdir [ -d '{}/.git' ]  \; -print -prune |
    parallel --gnu --keep-order \
    "date; echo {}; cd {}; git fetch --all --verbose" \
    >> ~/log/git-fetch.log 2>&1

(mas em uma linha).

    
por 30.06.2016 / 08:51

Tags