From 47f8b4a3d8e80ca88912aa10954685b300565a90 Mon Sep 17 00:00:00 2001 From: Aidan Hobson Sayers Date: Thu, 25 May 2017 01:37:36 +0100 Subject: [PATCH] Hack around abysmally slow llvm clones --- src/ci/init_repo.sh | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/ci/init_repo.sh b/src/ci/init_repo.sh index 1db2135eb6d..0a17bd3b571 100755 --- a/src/ci/init_repo.sh +++ b/src/ci/init_repo.sh @@ -64,6 +64,7 @@ if [ ! -d "$cache_src_dir/.git" ]; then git clone https://github.com/rust-lang/rust.git $cache_src_dir" fi retry sh -c "cd $cache_src_dir && git reset --hard && git pull" +(cd $cache_src_dir && git rm src/llvm) retry sh -c "cd $cache_src_dir && \ git submodule deinit -f . && git submodule sync && git submodule update --init" @@ -76,6 +77,15 @@ touch "$cache_valid_file" # http://stackoverflow.com/questions/12641469/list-submodules-in-a-git-repository modules="$(git config --file .gitmodules --get-regexp '\.path$' | cut -d' ' -f2)" for module in $modules; do + if [ "$module" = src/llvm ]; then + commit="$(git ls-tree HEAD src/llvm | awk '{print $3}')" + git rm src/llvm + curl -sSL -O "https://github.com/rust-lang/llvm/archive/$commit.tar.gz" + tar -C src/ -xf "$commit.tar.gz" + rm "$commit.tar.gz" + mv "src/llvm-$commit" src/llvm + continue + fi if [ ! -d "$cache_src_dir/$module" ]; then echo "WARNING: $module not found in pristine repo" retry sh -c "git submodule deinit -f $module && git submodule update --init $module"