.gitlab-ci.d/check-dco.py | 2 +- .gitlab-ci.d/check-patch.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
When gitlab initializes the repo checkout for a CI job, it will have
done a shallow clone with only partial history. Periodically the objects
that are omitted cause trouble with the check-patch/check-dco jobs. This
is exhibited as reporting strange errors being unable to fetch certain
objects that are known to exist.
Passing the --refetch flag to 'git fetch' causes it to not assume the
local checkout has all common objects and thus re-fetch everything that
is needed. This appears to solve the check-patch/check-dco job failures.
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---
.gitlab-ci.d/check-dco.py | 2 +-
.gitlab-ci.d/check-patch.py | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/.gitlab-ci.d/check-dco.py b/.gitlab-ci.d/check-dco.py
index 70dec7d6ee..2fd56683dc 100755
--- a/.gitlab-ci.d/check-dco.py
+++ b/.gitlab-ci.d/check-dco.py
@@ -21,7 +21,7 @@
print(f"adding upstream git repo @ {repourl}")
subprocess.check_call(["git", "remote", "add", "check-dco", repourl])
-subprocess.check_call(["git", "fetch", "check-dco", "master"])
+subprocess.check_call(["git", "fetch", "--refetch", "check-dco", "master"])
ancestor = subprocess.check_output(["git", "merge-base",
"check-dco/master", "HEAD"],
diff --git a/.gitlab-ci.d/check-patch.py b/.gitlab-ci.d/check-patch.py
index 68c549a146..be13e6f77d 100755
--- a/.gitlab-ci.d/check-patch.py
+++ b/.gitlab-ci.d/check-patch.py
@@ -24,7 +24,7 @@
# base for the user's branch. We thus need to figure out a common
# ancestor between the user's branch and current git master.
subprocess.check_call(["git", "remote", "add", "check-patch", repourl])
-subprocess.check_call(["git", "fetch", "check-patch", "master"])
+subprocess.check_call(["git", "fetch", "--refetch", "check-patch", "master"])
ancestor = subprocess.check_output(["git", "merge-base",
"check-patch/master", "HEAD"],
--
2.47.1
Daniel P. Berrangé <berrange@redhat.com> writes: > When gitlab initializes the repo checkout for a CI job, it will have > done a shallow clone with only partial history. Periodically the objects > that are omitted cause trouble with the check-patch/check-dco jobs. This > is exhibited as reporting strange errors being unable to fetch certain > objects that are known to exist. > > Passing the --refetch flag to 'git fetch' causes it to not assume the > local checkout has all common objects and thus re-fetch everything that > is needed. This appears to solve the check-patch/check-dco job failures. > > Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Queued to maintainer/for-10.0-softfreeze, thanks. -- Alex Bennée Virtualisation Tech Lead @ Linaro
On Tue, Feb 25, 2025 at 11:05:25AM +0000, Daniel P. Berrangé wrote: > When gitlab initializes the repo checkout for a CI job, it will have > done a shallow clone with only partial history. Periodically the objects > that are omitted cause trouble with the check-patch/check-dco jobs. This > is exhibited as reporting strange errors being unable to fetch certain > objects that are known to exist. > > Passing the --refetch flag to 'git fetch' causes it to not assume the > local checkout has all common objects and thus re-fetch everything that > is needed. This appears to solve the check-patch/check-dco job failures. > > Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Thanks! Acked-by: Michael S. Tsirkin <mst@redhat.com> > --- > .gitlab-ci.d/check-dco.py | 2 +- > .gitlab-ci.d/check-patch.py | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/.gitlab-ci.d/check-dco.py b/.gitlab-ci.d/check-dco.py > index 70dec7d6ee..2fd56683dc 100755 > --- a/.gitlab-ci.d/check-dco.py > +++ b/.gitlab-ci.d/check-dco.py > @@ -21,7 +21,7 @@ > > print(f"adding upstream git repo @ {repourl}") > subprocess.check_call(["git", "remote", "add", "check-dco", repourl]) > -subprocess.check_call(["git", "fetch", "check-dco", "master"]) > +subprocess.check_call(["git", "fetch", "--refetch", "check-dco", "master"]) > > ancestor = subprocess.check_output(["git", "merge-base", > "check-dco/master", "HEAD"], > diff --git a/.gitlab-ci.d/check-patch.py b/.gitlab-ci.d/check-patch.py > index 68c549a146..be13e6f77d 100755 > --- a/.gitlab-ci.d/check-patch.py > +++ b/.gitlab-ci.d/check-patch.py > @@ -24,7 +24,7 @@ > # base for the user's branch. We thus need to figure out a common > # ancestor between the user's branch and current git master. > subprocess.check_call(["git", "remote", "add", "check-patch", repourl]) > -subprocess.check_call(["git", "fetch", "check-patch", "master"]) > +subprocess.check_call(["git", "fetch", "--refetch", "check-patch", "master"]) > > ancestor = subprocess.check_output(["git", "merge-base", > "check-patch/master", "HEAD"], > -- > 2.47.1
© 2016 - 2025 Red Hat, Inc.