J'aimerais savoir si un dépôt à distance existe. Voici ce que j'ai trouvé :
git ls-remote -h "$REPO_URL" &> /dev/null
Y a-t-il un meilleur moyen ?
J'aimerais savoir si un dépôt à distance existe. Voici ce que j'ai trouvé :
git ls-remote -h "$REPO_URL" &> /dev/null
Y a-t-il un meilleur moyen ?
TL;DR :
git ls-remote
est le chemin, voici une fonction Shell-ready pour un accès rapide :
## Returns errlvl 0 if $1 is a reachable git remote url
git-remote-url-reachable() {
git ls-remote "$1" CHECK_GIT_REMOTE_URL_REACHABILITY >/dev/null 2>&1
}
Utilisation :
if git-remote-url-reachable "$url"; then
## code
fi
Que fait-il ?
Il s'agit juste d'une synthèse pratique de tous les commentaires/solutions énoncés précédemment avec quelques petites modifications, une fonction prête à être copiée-collée en bash et un exemple de code d'utilisation pour que tout soit clair. Vous noterez que :
il limite la sortie car la référence vérifiée est probablement inexistante, car git
se terminera toujours avec le niveau d'erreur 0 sur les références non correspondantes. . La seule différence ici est qu'il y a légèrement moins de sorties à transférer sur le réseau par rapport à à demander HEAD
(et beaucoup moins que de ne pas demander une référence ou même de se limiter à seulement les têtes), et c'est aussi moins de sortie à couler dans les /dev/null
(mais ce ce dernier prend un temps négligeable de toute façon)
l'arbitre a vérifié indique clairement que nous sondons l'existence ceci pourrait vous aider si vous voulez être poli avec les administrateurs du serveur que vous sondez et de leur donner une chance de comprendre pourquoi ils reçoivent ces sondes s'ils surveillent quoi que ce soit.
SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.