J'essaie d'ajouter un rapport existant à gerrit. Je crée un projet vide et j'ai essayé de le pousser (git Push ssh://admin@localhost:29418/project *:*
). Je reçois ce message d'erreur en retour:
Counting objects: 14, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 384 bytes | 0 bytes/s, done.
Total 3 (delta 1), reused 3 (delta 1)
remote: Resolving deltas: 100% (1/1)
remote: Processing changes: refs: 3, done
To ssh://admin@localhost:29418/project
! [remote rejected] Origin/HEAD -> Origin/HEAD (prohibited by Gerrit)
! [remote rejected] Origin/master -> Origin/master (prohibited by Gerrit)
! [remote rejected] Origin/ref/for/master/testing -> Origin/ref/for/master/testing (prohibited by Gerrit)
error: failed to Push some refs to 'ssh://admin@localhost:29418/project'
Je suis déjà allé sur le site gerrit et sous project/access
, j'ai ajouté refs/head/*
, privilèges Créer une référence pour tous les utilisateurs.
D'après mon expérience, vous avez besoin des autorisations de groupe suivantes pour importer un référentiel entier dans gerrit - essentiellement des autorisations pour tout transférer dans le référentiel gerrit:
En plus d'ajouter le privilège Créer une référence, vous devez également vous assurer que vous disposez du privilège Push direct/forcé Push - la création d'une référence impliquerait la création d'une nouvelle branche, tandis que la mise à jour d'une branche existante (à savoir, Origin/HEAD
et Origin/master
) requièrent le privilège direct Push/force Push (j’ai vu gerrit appeler cette fonction à la fois Direct Push et Force Push dans la documentation).
dans votre projet git, utilisez git config --list pour afficher votre nom d'utilisateur.utilisateur.email est ou différent du nom d'utilisateur ou du courrier électronique de votre site gerrit local. Ils doivent être identiques. Si ce n'est pas le cas, utilisez git config user.name. XXX.
enfin. git config remote.Origin.Push refs/heads /: refs/for/ afin que vous puissiez utiliser le maître git Push Origin