From 66a1eea681b1337340e33abd211a8fb1233e8eab Mon Sep 17 00:00:00 2001
From: Matt Kwong <mattkwong@google.com>
Date: Thu, 29 Sep 2016 18:30:19 -0700
Subject: [PATCH] changed wheezy dockerfile to install git version > 1.7 to
 support local submodule cloning

---
 .../dockerfile/test/cxx_wheezy_x64/Dockerfile |  7 +++++++
 tools/run_tests/dockerize/docker_run_tests.sh | 20 +++++--------------
 2 files changed, 12 insertions(+), 15 deletions(-)

diff --git a/tools/dockerfile/test/cxx_wheezy_x64/Dockerfile b/tools/dockerfile/test/cxx_wheezy_x64/Dockerfile
index c25033387f..503a435707 100644
--- a/tools/dockerfile/test/cxx_wheezy_x64/Dockerfile
+++ b/tools/dockerfile/test/cxx_wheezy_x64/Dockerfile
@@ -63,6 +63,13 @@ RUN apt-get update && apt-get install -y \
 # Build profiling
 RUN apt-get update && apt-get install -y time && apt-get clean
 
+#================
+# Add backport to Debian sources.list and update git to version > 1.7
+RUN echo "deb http://http.debian.net/debian wheezy-backports main" \
+  >/etc/apt/sources.list.d/wheezy-backports.list
+RUN apt-get update -qq
+RUN apt-get -t wheezy-backports install -y -qq git mercurial
+
 #====================
 # Python dependencies
 
diff --git a/tools/run_tests/dockerize/docker_run_tests.sh b/tools/run_tests/dockerize/docker_run_tests.sh
index 3bab7ffd90..7108964a9b 100755
--- a/tools/run_tests/dockerize/docker_run_tests.sh
+++ b/tools/run_tests/dockerize/docker_run_tests.sh
@@ -42,21 +42,11 @@ export PATH=$PATH:/usr/bin/llvm-symbolizer
 chown $(whoami) $XDG_CACHE_HOME
 
 mkdir -p /var/local/git
-git clone /var/local/jenkins/grpc /var/local/git/grpc
-
-# (todo (mattkwong): the /var/local/jenkins/grpc has no submodules and boringssl 
-# has non-submodule files in it. Figure out how to fix this for local cloning 
-## this prints to console "reports reports.zip"
-# ls /var/local/jenkins/grpc/third_party/boringssl
-## none of these print anything (empty directory)
-# ls /var/local/jenkins/grpc/third_party/gflags
-# ls /var/local/jenkins/grpc/third_party/googletest
-# ls /var/local/jenkins/grpc/third_party/nanopb
-# ls /var/local/jenkins/grpc/third_party/protobuf
-# ls /var/local/jenkins/grpc/third_party/thrift
-# ls /var/local/jenkins/grpc/third_party/zlib
-
-(cd /var/local/git/grpc && git submodule update --init --recursive )
+git clone  /var/local/jenkins/grpc /var/local/git/grpc
+# clone gRPC submodules, use data from locally cloned submodules where possible
+(cd /var/local/jenkins/grpc/ && git submodule foreach 'cd /var/local/git/grpc \
+&& git submodule update --init --reference /var/local/jenkins/grpc/${name} \
+${name}')
 
 mkdir -p reports
 
-- 
GitLab