Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitaly.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSami Hiltunen <shiltunen@gitlab.com>2021-03-01 11:58:25 +0300
committerSami Hiltunen <shiltunen@gitlab.com>2021-03-01 11:58:25 +0300
commit822b882917ab060ba3d5cddecc6f52f5eeb01f2f (patch)
treef26356ac0f597600cedc52f911e4c5dde8e5dcbf
parent5d9c71d8d7188bd58f272dc62a7939ece747909d (diff)
parent2df84dcc883a28d82320d198c5c11ed6ecdfc627 (diff)
Merge branch 'pks-makefile-fix-rebuild-fetches' into 'master'
Makefile: Fix rebuilds not properly updating git/libgit2 repos See merge request gitlab-org/gitaly!3194
-rw-r--r--Makefile30
1 files changed, 16 insertions, 14 deletions
diff --git a/Makefile b/Makefile
index e5f3cfd43..e4f25c5e9 100644
--- a/Makefile
+++ b/Makefile
@@ -81,6 +81,10 @@ GIT_BINARIES_URL ?= https://gitlab.com/gitlab-org/gitlab-git/-/jobs/artifacts/$
GIT_BINARIES_HASH ?= 8c88d2adb46d1d07f258904b227c93b8a5a4942ac32a1e54057f215401332141
GIT_INSTALL_DIR := ${DEPENDENCY_DIR}/git/install
GIT_SOURCE_DIR := ${DEPENDENCY_DIR}/git/source
+GIT_QUIET :=
+ifeq (${Q},@)
+ GIT_QUIET = --quiet
+endif
ifeq (${GIT_BUILD_OPTIONS},)
# activate developer checks
@@ -404,12 +408,11 @@ ${DEPENDENCY_DIR}/git.version: dependency-version | ${DEPENDENCY_DIR}
${Q}[ x"$$(cat "$@" 2>/dev/null)" = x"${GIT_VERSION}" ] || >$@ echo -n "${GIT_VERSION}"
${LIBGIT2_INSTALL_DIR}/lib/libgit2.a: ${DEPENDENCY_DIR}/libgit2.version
- ${Q}if ! [ -d "${LIBGIT2_SOURCE_DIR}" ]; then \
- ${GIT} clone --depth 1 --branch ${LIBGIT2_VERSION} --quiet ${LIBGIT2_REPO_URL} ${LIBGIT2_SOURCE_DIR}; \
- elif ! git -C "${LIBGIT2_SOURCE_DIR}" rev-parse --quiet --verify ${LIBGIT2_VERSION}^{tree} >/dev/null; then \
- ${GIT} -C "${LIBGIT2_SOURCE_DIR}" fetch --quiet ${LIBGIT2_REPO_URL} ${LIBGIT2_VERSION}; \
- fi
- ${GIT} -C "${LIBGIT2_SOURCE_DIR}" switch --quiet --detach ${LIBGIT2_VERSION}
+ ${Q}${GIT} init --initial-branch=master ${GIT_QUIET} ${LIBGIT2_SOURCE_DIR}
+ ${Q}${GIT} -C "${LIBGIT2_SOURCE_DIR}" config remote.origin.url ${LIBGIT2_REPO_URL}
+ ${Q}${GIT} -C "${LIBGIT2_SOURCE_DIR}" config remote.origin.tagOpt --no-tags
+ ${Q}${GIT} -C "${LIBGIT2_SOURCE_DIR}" fetch --depth 1 ${GIT_QUIET} origin ${LIBGIT2_VERSION}
+ ${Q}${GIT} -C "${LIBGIT2_SOURCE_DIR}" switch ${GIT_QUIET} --detach FETCH_HEAD
${Q}rm -rf ${LIBGIT2_BUILD_DIR}
${Q}mkdir -p ${LIBGIT2_BUILD_DIR}
${Q}cd ${LIBGIT2_BUILD_DIR} && cmake ${LIBGIT2_SOURCE_DIR} ${LIBGIT2_BUILD_OPTIONS}
@@ -418,12 +421,11 @@ ${LIBGIT2_INSTALL_DIR}/lib/libgit2.a: ${DEPENDENCY_DIR}/libgit2.version
ifeq (${GIT_USE_PREBUILT_BINARIES},)
${GIT_INSTALL_DIR}/bin/git: ${DEPENDENCY_DIR}/git.version
- ${Q}if ! [ -d "${GIT_SOURCE_DIR}" ]; then \
- ${GIT} clone --depth 1 --branch ${GIT_VERSION} --quiet ${GIT_REPO_URL} ${GIT_SOURCE_DIR}; \
- elif ! git -C "${GIT_SOURCE_DIR}" rev-parse --quiet --verify ${GIT_VERSION}^{tree} >/dev/null; then \
- ${GIT} -C "${GIT_SOURCE_DIR}" fetch --quiet ${GIT_REPO_URL} ${GIT_VERSION}; \
- fi
- ${Q}${GIT} -C "${GIT_SOURCE_DIR}" switch --quiet --detach ${GIT_VERSION}
+ ${Q}${GIT} init --initial-branch=master ${GIT_QUIET} ${GIT_SOURCE_DIR}
+ ${Q}${GIT} -C "${GIT_SOURCE_DIR}" config remote.origin.url ${GIT_REPO_URL}
+ ${Q}${GIT} -C "${GIT_SOURCE_DIR}" config remote.origin.tagOpt --no-tags
+ ${Q}${GIT} -C "${GIT_SOURCE_DIR}" fetch --depth 1 ${GIT_QUIET} origin ${GIT_VERSION}
+ ${Q}${GIT} -C "${GIT_SOURCE_DIR}" switch ${GIT_QUIET} --detach FETCH_HEAD
${Q}rm -rf ${GIT_INSTALL_DIR}
${Q}mkdir -p ${GIT_INSTALL_DIR}
env -u MAKEFLAGS -u GIT_VERSION ${MAKE} -C ${GIT_SOURCE_DIR} -j$(shell nproc) prefix=${GIT_PREFIX} ${GIT_BUILD_OPTIONS} install
@@ -476,7 +478,7 @@ ${GO_LICENSES}: TOOL_PACKAGE = github.com/google/go-licenses@73411c8fa237c
${PROTOC_GEN_GO}: TOOL_PACKAGE = github.com/golang/protobuf/protoc-gen-go@v${PROTOC_GEN_GO_VERSION}
${TEST_REPO}:
- ${GIT} clone --bare --quiet https://gitlab.com/gitlab-org/gitlab-test.git $@
+ ${GIT} clone --bare ${GIT_QUIET} https://gitlab.com/gitlab-org/gitlab-test.git $@
# Git notes aren't fetched by default with git clone
${GIT} -C $@ fetch origin refs/notes/*:refs/notes/*
rm -rf $@/refs
@@ -485,7 +487,7 @@ ${TEST_REPO}:
${GIT} -C $@ fsck --no-progress
${TEST_REPO_GIT}:
- ${GIT} clone --bare --quiet https://gitlab.com/gitlab-org/gitlab-git-test.git $@
+ ${GIT} clone --bare ${GIT_QUIET} https://gitlab.com/gitlab-org/gitlab-git-test.git $@
rm -rf $@/refs
mkdir -p $@/refs/heads $@/refs/tags
cp ${SOURCE_DIR}/_support/gitlab-git-test.git-packed-refs $@/packed-refs