aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authortypebrook <typebrook@gmail.com>2020-05-12 22:08:17 +0800
committertypebrook <typebrook@gmail.com>2020-05-12 22:13:34 +0800
commitb0939df4c09fe7f9097e9f5d0a328037ff6928c3 (patch)
tree8f0b78a0231391b5c7f2f09ffd40f5179ca54b1e
parent1620005e335d3959630c7c19fdaa9417e3b989d7 (diff)
Use simpler way to clone repo in background
And this way also do not need to export variables into new bash instance
-rwxr-xr-xgist7
1 files 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() {
475 cd "$repo" \ 475 cd "$repo" \
476 && [[ $blob_code_local != "$blob_code" ]] \ 476 && [[ $blob_code_local != "$blob_code" ]] \
477 && [[ $(git rev-parse origin/master) == $(git rev-parse master) ]] \ 477 && [[ $(git rev-parse origin/master) == $(git rev-parse master) ]] \
478 && git pull 478 && git pull &
479 done 479 done
480} 480}
481export -f _pull_if_needed
482 481
483# Update local git repos 482# Update local git repos
484_sync_repos() { 483_sync_repos() {
@@ -493,7 +492,9 @@ _sync_repos() {
493 492
494 # if repo is cloned, do 'git pull' if remote repo has different blob objects 493 # if repo is cloned, do 'git pull' if remote repo has different blob objects
495 sed -ne '/^\t/ s/\t//p' <<<$result \ 494 sed -ne '/^\t/ s/\t//p' <<<$result \
496 | xargs -I{} --max-procs 8 bash -c '_pull_if_needed {}' 495 | while read GIST_ID; do
496 _pull_if_needed $GIST_ID
497 done
497 } 498 }
498} 499}
499 500