J'ai créé un projet simple, commis et poussé la branche master, puis je l'ai protégé. Après cela, j'ai ajouté un utilisateur au projet en tant que développeur et cet utilisateur a été autorisé à pousser vers master.
Donc admin=maître, user1=développeur.
Lorsque j'ai modifié et poussé en tant que user1, j'ai été autorisé à pousser vers master. C'est étrange car j'ai une instance de production qui ne le permet pas.
J'ai utilisé l'installation vagrant pour mettre en place un environnement de développement. Après le ssh de vagrant :cd /vagrant/gitlabhq && git pull --ff origin master
me mettre au commit a8b544ed770cf172b09feb6ffee14b1814b66ad4, gitlab-shell v1.5.0cd /vagrant/gitlabhq && bundle exec foreman start -p 3000
gitlab était maintenant opérationnel.
Je me suis connecté en tant que admin@local.host
J'ai ajouté ma clé "admin".
Création du projet "master-protégé".
dans un shell, j'ai créé le repo, ajouté un fichier, commis et poussé.
En tant que "user1", j'ai ajouté ma clé, et dans un shell, j'ai cloné "master-protected" pour lequel user1 a un rôle de développeur.
Quand j'ai modifié et poussé master, gitlab a accepté le push, et le commit apparaît directement dans gitlab. Il aurait dû le refuser. En fait, lorsque vous allez dans la section branches, et que vous voyez la branche master comme étant protégée, son dernier commit est celui de "user1" qui n'avait que des permissions de développeur.
Avez-vous une idée de l'endroit où je peux chercher pour essayer de trouver pourquoi cela se produit dans l'environnement de développement ? C'est la même chose pour le tag v5.3.0 également, et je suis certain que cela ne se produit pas dans la production v5.3.0.
C'est drôle parce que j'essayais de reproduire un autre bogue que je pensais avoir trouvé avec les branches protégées qui n'étaient pas protégées par les demandes de fusion et les rôles de développeur, mais je me suis heurté à un blocage avec celui-ci.