diff options
Diffstat (limited to 'tcwg-generate-source-cache.sh')
-rwxr-xr-x | tcwg-generate-source-cache.sh | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/tcwg-generate-source-cache.sh b/tcwg-generate-source-cache.sh index 8dad0db7..eec94f8e 100755 --- a/tcwg-generate-source-cache.sh +++ b/tcwg-generate-source-cache.sh @@ -126,6 +126,10 @@ generate_misc_files () https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git https://github.com/llvm/llvm-project.git https://git.linaro.org/toolchain/jenkins-scripts.git + https://git.linaro.org/toolchain/bmk-scripts.git + https://android.googlesource.com/platform/manifest.git + https://android.googlesource.com/platform/superproject.git + https://git.code.sf.net/p/mingw-w64/mingw-w64.git ) generate_git_cache "${repos[@]}" } @@ -135,17 +139,22 @@ update_git_repos () { $verbose local dir="$1" - while IFS= read -r -d '' repo_git - do - ( - local repo - repo=$(dirname "$repo_git") + + local repo + + while IFS= read -r -d '' repo_git; do + repo=$(dirname "$repo_git") + ( cd "$repo" # Update and prune local clone run_with_timeout_and_retry 1h 3 git remote update -p find -maxdepth 1 ! -name .git ! -name . -print0 \ - | xargs -0 rm -rf - ) + | xargs -0 rm -rf + ) & + if ! wait $!; then + echo "WARNING: Failed to update: $repo -- removing to re-clone" + rm -rf "$repo" + fi done < <(find "$dir" -name .git -type d -print0) } |