web-dev-qa-db-fra.com

Impossible de fusionner dans Gerrit

Chaque fois que j'envoie une révision à Gerrit et si la révision est en attente depuis un certain temps, le message cannot merge s'affiche dans Gerrit.

J'ai compris sa venue parce que quelqu'un d'autre aurait changé le même/les mêmes fichiers et livré devant moi. J'essaie ci-dessous une solution de contournement pour résoudre mon problème.

  1. Abandonner l'examen en cours.
  2. Créez une nouvelle branche locale, tirez
  3. Cherry-pick mon commit de l'ancienne branche et envoyer à gerrit

Cela fonctionne, mais les commentaires de commentaires que je possédais ne seraient plus disponibles et il est difficile pour mon relecteur de vérifier à nouveau. 

Je cherche un moyen de supprimer cannot merge de l'examen en cours. Merci!

13
Bhargav Kumar R

Vous n'avez PAS besoin d'abandonner le changement en cours sur Gerrit pour résoudre le problème de la fusion impossible. Tout ce que vous devez faire c'est:

  1. Mettez à jour votre référentiel local (git fetch)
  2. Exécuter une rebase manuelle (git rebase)
  3. Résoudre les conflits (git mergetool)
  4. Commit (amende) le résultat (git commit --amend)
  5. Poussez un nouveau patch à Gerrit (git Push)

Essayez le bouton rebase, qui peut résoudre la plupart des problèmes de fusion impossible. S'il parvient à trouver le bon commit sur lequel se baser lui-même, c'est bon. Si ce n'est pas le cas, trouvez le dernier commit de la branche cible et complétez le vide de commit. Parfois, vous devez d’abord soumettre le commit, sur lequel celui qui ne peut pas être fusionné a une dépendance. Si cela ne fonctionne pas, abandonnez-le et effectuez le commit en fonction du dernier commit.

5
ElpieKay

La meilleure pratique lorsque vous travaillez sur une base de code partagée avec git/gerrit est de garder les modifications au minimum . . D'autre part, vous pouvez vous rebaser dès que possible afin que les modifications puissent être examinées plus facilement. 

Je ne suis pas sûr que cela réponde à votre question, mais je suis ces deux règles et je n’ai aucun problème.

1
Timotei