diff options
author | Sami Hiltunen <shiltunen@gitlab.com> | 2021-03-01 11:58:25 +0300 |
---|---|---|
committer | Sami Hiltunen <shiltunen@gitlab.com> | 2021-03-01 11:58:25 +0300 |
commit | 822b882917ab060ba3d5cddecc6f52f5eeb01f2f (patch) | |
tree | f26356ac0f597600cedc52f911e4c5dde8e5dcbf | |
parent | 5d9c71d8d7188bd58f272dc62a7939ece747909d (diff) | |
parent | 2df84dcc883a28d82320d198c5c11ed6ecdfc627 (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-- | Makefile | 30 |
1 files changed, 16 insertions, 14 deletions
@@ -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 |