バックグラウンドですべてのGitリポジトリをインポートする

バックグラウンドですべてのGitリポジトリをインポートする

オフラインのときに現在の状態が準備されるように、時々すべてのリポジトリをインポートするcronjobを設定するつもりです。次の内容です(より読みやすくするためにラップされます)。

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

引数が失敗した場合はどうなるかは関係ありません。次回は成功するかもしれません。たぶんエラー出力を記録することができます。私の質問は次のとおりです

  • コミット時にバックグラウンドプロセスがGitリポジトリにインポートされるとどうなりますか?
  • parallel本当に安全なスイッチを作るために他のスイッチをお勧めできますか?

ベストアンサー1

私は2年間何の問題もなくバックグラウンドでローカルGitリポジトリをインポートしています。現在、crontabには次の内容が含まれています。

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

(しかし一行に)。

おすすめ記事