fatal: git fetch-pack: expected shallow list
J’ai récemment eu le cas, ou mon runner gitlab, ne voulait plus faire son boulot si un cache était déjà présent. Voici l’erreur rencontrée :
Running with gitlab-runner 12.1.0 (de7731dd)
on gitlab-runner-shell UsRs12q
Using Shell executor...
Fetching changes with git depth set to 50...
Reinitialized existing Git repository in /home/gitlab-runner/builds/UsRs12q/0/group/project/.git/
fatal: git fetch-pack: expected shallow list
fatal: The remote end hung up unexpectedly
Forcement mon déploiement continue s’est stoppé d’un coup. Le plus étonnant est que c’est le même code que je passais au runner.
Après avoir pas mal googlé, il semble que le nouveau Gitlab (12) ai changé quelque peu les choses. Il est maintenant obligatoire d’avoir git en version 2 pour que tout ce passe bien. Le souci est référencé sur ce ticket 60466.
Et forcement quand on utilise une image docker, un petit changement de version fait qu’on ne vérifie pas toujours (et à tort) les prérequis de cette nouvelle version !
Voici donc les étapes d’upgrade de git sur Centos 7 :
git --version
# git version 1.8.3.1
yum remove git*
yum -y install https://centos7.iuscommunity.org/ius-release.rpm
yum -y install git2u-all
git --version
# git version 2.16.5
Un fois l’upgrade fait, tout est rentrée dans l’ordre. Ouf !
Merci, ton guide m’a fait gagné un temps fou !