[x]
):Description du problème / message d'erreur
git-mirror
est l'hôte de la machine).[lycheejs] (development)$ git push mirror development
Counting objects: 80, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (76/76), done.
Writing objects: 100% (80/80), 15.28 KiB | 0 bytes/s, done.
Total 80 (delta 50), reused 0 (delta 0)
# XXX: Note this /home/alarm/gitea path, this is the outdated update hook path
remote: hooks/update: line 2: /home/alarm/gitea: Permission denied
remote: error: hook declined to update refs/heads/development
To git-mirror:Artificial-Engineering/lycheejs.git
! [remote rejected] development -> development (hook declined)
error: failed to push some refs to 'git@git-mirror:Artificial-Engineering/lycheejs.git'
Étapes à reproduire
/home/alarm
pour expérimenter, le démarrer et le configurer.git
correct./opt/gitea
parce que j'y ai un support de disque dur externe (fonctionnant sur un Raspberry Pi 2).custom/conf/app.ini
Quickfix pour les autres
J'ai créé un petit script qui suppose que le dossier ./gitea-repositories
se trouve dans le même dossier que le binaire gitea et qui corrige tous les crochets de mise à jour une fois exécutés. Dans mon cas, il est situé dans /opt/gitea/fix_repos.js
où les repos sont dans /opt/gitea/gitea-repositories
. Lien vers le script fix_repos.js .
Problèmes causés
J'ai vu quelques problèmes dans les gogs en amont où les gens avaient les mêmes problèmes. Il n'est absolument pas clair que vous ne pouvez pas vous déplacer dans gitea car je suppose qu'un binaire peut être copié/collé avec ses fichiers de configuration et qu'il devrait fonctionner isolément dans ce dossier.
Suggestion
Il est peut-être judicieux d'avoir une routine de démarrage qui vérifie l'intégrité de tous les crochets de mise à jour lorsque le service Web gitea est démarré. Pour qu'il s'assure simplement que tous les chemins sont à jour et pointent vers le bon binaire.
Entrez dans le panneau d'administration Gitea sur l'interface utilisateur, exécutez Réécrire le fichier '.ssh/authorized_keys' (attention : les clés non-Gitea seront perdues) et Réécrivez tous les crochets de mise à jour des référentiels (nécessaires lorsque le chemin de configuration personnalisé est modifié).
Étant donné que les données sont une partie statique, elles doivent être réécrites dans l'interface utilisateur d'administration.
J'essaie d'abord de pousser git mais j'obtiens cette erreur.
[télécommande rejetée] maître -> maître (crochet de pré-réception refusé)
J'exécute Update the '.ssh/authorized_keys' file with Gitea SSH keys. (Not needed for the built-in SSH server.)
mais j'ai une erreur.
ouvrez C:\Windows\system32\config\systemprofile.ssh\authorized_keys.tmp : Le système ne trouve pas le chemin spécifié.
Ensuite, je lance Resynchronize pre-receive, update and post-receive hooks of all repositories.
Et j'essaie de pousser à nouveau et tout fonctionne bien.
Je ne suis pas sûr que pour cela ou la mise à jour .ssh/authorized_keys
fonctionne même si elle affiche une erreur ou quelque chose mais ça marche ! Je ne sais pas pourquoi.
Commentaire le plus utile
Entrez dans le panneau d'administration Gitea sur l'interface utilisateur, exécutez Réécrire le fichier '.ssh/authorized_keys' (attention : les clés non-Gitea seront perdues) et Réécrivez tous les crochets de mise à jour des référentiels (nécessaires lorsque le chemin de configuration personnalisé est modifié).