From b0939df4c09fe7f9097e9f5d0a328037ff6928c3 Mon Sep 17 00:00:00 2001 From: typebrook Date: Tue, 12 May 2020 22:08:17 +0800 Subject: Use simpler way to clone repo in background And this way also do not need to export variables into new bash instance --- gist | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gist b/gist index b1f82a2..5977a1e 100755 --- a/gist +++ b/gist @@ -475,10 +475,9 @@ _pull_if_needed() { cd "$repo" \ && [[ $blob_code_local != "$blob_code" ]] \ && [[ $(git rev-parse origin/master) == $(git rev-parse master) ]] \ - && git pull + && git pull & done } -export -f _pull_if_needed # Update local git repos _sync_repos() { @@ -493,7 +492,9 @@ _sync_repos() { # if repo is cloned, do 'git pull' if remote repo has different blob objects sed -ne '/^\t/ s/\t//p' <<<$result \ - | xargs -I{} --max-procs 8 bash -c '_pull_if_needed {}' + | while read GIST_ID; do + _pull_if_needed $GIST_ID + done } } -- cgit v1.2.3-70-g09d2