Le système Gerrit n’est utilisé que par plusieurs personnes. Une fois la modification A effectuée et son statut: "Soumis, Fusionner en attente". La liste des modifications dans la page Web "ouverte". J'ai aussi remarqué que ce changement dépendait d'un autre changement B (dont le statut est abandonné).
Si le changement A a une dépendance sur B, alors A ne peut pas être fusionné avant que B ne soit fusionné. Puisque vous avez abandonné B, Gerrit ne fusionnera pas automatiquement A.
Ce que vous devrez faire est de modifier A (peut-être en utilisant git rebase
) afin qu’il ne dépende plus de B, puis renvoyez la modification à Gerrit.
FYI. J'ai eu le même problème de "Soumis, Fusionner en attente" lorsque l'utilisateur a appuyé deux fois sur Soumettre sur la même page (elle a double-cliqué sur le bouton d'envoi). C'est arrivé dans Gerrit 2.11.
Erreur dans le journal ressemble à
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry '5173-2-1' for key 'PRIMARY'
at Sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at Sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.Java:57)
Avant de soumettre, il n'y avait qu'un seul commit (changements de code). Mais après avoir appuyé deux fois, il y a 2 commits. Le second est avec le nouveau message de validation et le statut "Soumis, Fusionner en attente".
Quand j'ai supprimé toutes les informations sur le deuxième commit:
$ ssh -p 29418 admin@machine gerrit gsql
gerrit> delete from `patch_set_approvals` where change_id=5173 and patch_set_id=2;
gerrit> delete from `patch_set_ancestors` where change_id=5173 and patch_set_id=2;
gerrit> delete from `patch_sets` where change_id=5173 and patch_set_id=2;
il est marqué comme intégré par l'utilisateur Gerrit Code Review.
Ce que Greg affirme est correct, une fusion automatique n’est pas possible. Il est possible d’intégrer uniquement A en utilisant l’option de "sélection de cerises" de Gerrit (essentiellement une fusion manuelle). Malheureusement, cela ne supprimera pas le statut "Fusion en attente" de Gerrit. J'écris habituellement un commentaire à cet effet, si le contributeur ne peut pas être dérangé pour rebase.
J'ai eu le même problème de "Soumis, Fusionner en attente" sans aucune dépendance ou conflit. La solution rapide consiste à parcourir tous les éléments ouverts et à voir s’il existe une autre validation en état "Soumis, Fusionner en attente". Si oui, abandonnez-les tous.
Puis git commit --amend -m "vos commentaires originaux" et git Push à nouveau, cette fois, vous pourrez fusionner votre correctif.
J'ai rencontré ce problème parce que j'ai poussé une balise vers le nom de la branche:
git tag x.y.z HEAD
git Push -f Origin x.y.z:master
Donc mieux Poussez une branche à la place,
git tag x.y.z HEAD
git Push -f Origin HEAD:master
De cette façon, gerrit est capable de fusionner à nouveau mes correctifs en attente.
Gars. Si vous utilisez une balise, vous pouvez rencontrer un bogue. Ce bogue avait été corrigé dans Gerrit V2.7.
Référence de bogue: https://groups.google.com/forum/#!topic/repo-discuss/tLVMibfzroc
Sur le terminal:
où n est le nombre de validations du début dans la liste des validations générées sur le terminal à partir de l'étape 2
maintenant, fusionnez votre engagement sur Gerrit.