diff --git a/build/build_extension.sh b/build/build_extension.sh
index 4355c2a57..a8cc5e45d 100755
--- a/build/build_extension.sh
+++ b/build/build_extension.sh
@@ -10,19 +10,18 @@ FINAL_EXTENSION_PATH=$3
 TEMP_GIT_DIR="$(mktemp -d)"
 TEMP_TAR_DIR="$(pwd)"/artifacts
 EXT_PATH="$TEMP_GIT_DIR/$EXTENSION"
-
-EXTENSION_COMMIT_HASH_FILE="$ROOT/artifacts/build_metadata_${EXTENSION,,}.env"
 EXTENSION_COMMIT_HASH_VARIABLE="${EXTENSION^^}_COMMIT_HASH"
 
 mkdir -p "$TEMP_TAR_DIR"
 
-git clone --depth 1 --single-branch --branch "${BRANCH_NAME}" "$ROOT/git_cache/$EXTENSION.git" "$EXT_PATH"
-
-GIT_TRACE=1 git -C "$EXT_PATH" submodule update --init --recursive
-
-bash "$ROOT"/build/write_git_metadata.sh "$EXT_PATH" "$EXTENSION_COMMIT_HASH_FILE" "$EXTENSION_COMMIT_HASH_VARIABLE"
+COMMIT_HASH=${!EXTENSION_COMMIT_HASH_VARIABLE}
+UPDATE_SUBMODULE=1 bash "$ROOT"/build/clone_repo.sh \
+    "$COMMIT_HASH" \
+    "$ROOT/git_cache/$EXTENSION.git" \
+    "$EXTENSION" \
+    "$EXT_PATH" \
+    "${BRANCH_NAME}"
 
-# remove git things from release package
-rm "$EXT_PATH"/.git* -rfv
+bash "$ROOT"/build/clean_repo.sh "$EXT_PATH"
 
 cp -r "$EXT_PATH" "$FINAL_EXTENSION_PATH"
\ No newline at end of file
diff --git a/build/build_wikibase.sh b/build/build_wikibase.sh
index 6c818cc80..4eec8756a 100755
--- a/build/build_wikibase.sh
+++ b/build/build_wikibase.sh
@@ -7,14 +7,15 @@ TEMP_GIT_DIR="$(mktemp -d)"
 TEMP_TAR_DIR="$(pwd)"/artifacts
 WIKIBASE_PATH="$TEMP_GIT_DIR/Wikibase"
 
-git clone --depth 1 --single-branch --branch "${WIKIBASE_BRANCH_NAME}" "$ROOT/git_cache/Wikibase.git" "$WIKIBASE_PATH"
+UPDATE_SUBMODULE=1 bash "$ROOT"/build/clone_repo.sh \
+    "$WIKIBASE_COMMIT_HASH" \
+    "$ROOT/git_cache/Wikibase.git" \
+    WIKIBASE \
+    "$WIKIBASE_PATH" \
+    "${WIKIBASE_BRANCH_NAME}"
 
-GIT_TRACE=1 git -C "$WIKIBASE_PATH" submodule update --init --recursive
+bash "$ROOT"/build/clean_repo.sh "$WIKIBASE_PATH"
 
-bash "$ROOT"/build/write_git_metadata.sh "$WIKIBASE_PATH" "$ROOT"/artifacts/build_metadata_wikibase.env "WIKIBASE_COMMIT_HASH"
-
-# remove git things from release package
-rm "$WIKIBASE_PATH"/.git* -rfv
 # remove travis build file
 rm "$WIKIBASE_PATH"/.travis.yml -vf