Gerrit Change имеет статус: Отправлено, Merge Pending, как решить? - PullRequest
16 голосов
/ 05 января 2012

Система Gerrit используется нами только несколькими людьми.Как только есть Изменение A, и его статус: «Отправлено, ожидание слияния».Список изменений на «открытой» веб-странице.Также я заметил, что это изменение зависело от другого изменения B (статус которого отменен).

  1. Как сделать A перечисленным на веб-странице "Объединенного"?
  2. Как сделать Bисчезают, поэтому A больше не зависит от B?

Ответы [ 7 ]

22 голосов
/ 05 января 2012

Если изменение A зависит от B, то A не может быть объединено, пока B не объединено.Поскольку вы отказались от B, Gerrit не будет автоматически объединять A.

Вам нужно будет изменить A (возможно, используя git rebase), чтобы он больше не зависел от B, и повторно передать изменение в Gerrit..

2 голосов
/ 18 мая 2015

FYI.У меня была та же проблема «Отправлено, ожидание слияния», когда пользователь дважды нажимал «Отправить» на одной странице (она дважды щелкнула кнопку «Отправить»).Это произошло в Gerrit 2.11.

Ошибка в журнале выглядит как

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)

Перед отправкой был только 1 коммит (изменение кода).Но после двойного нажатия происходит 2 коммита.Второй - с новым сообщением фиксации и статусом «Отправлено, ожидание слияния».

Когда я удалил всю информацию о втором коммите:

$ 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;

он помечался как интегрированный пользователем Gerrit Code Review.

1 голос
/ 10 января 2013

То, что Грэг утверждает, правильно, автоматическое объединение невозможно.Можно включить только А, используя опцию «выбора вишни» Джеррита (по сути, слияние вручную).К сожалению, это не удалит статус Gerrit в ожидании слияния.Я обычно пишу комментарий на этот счет, если Автор не может быть обеспокоен, чтобы перебазировать.

0 голосов
/ 10 июня 2017
  1. Оставь свой толчок у Геррита.

На терминале:

  1. git log
  2. git reset HEAD ~ n

где n - количество коммитов сверху в списке коммитов, сгенерированных на терминале с шага 2

  1. git add.
  2. git commit -m "Ваше сообщение"
  3. git push

Теперь объедините ваш коммит с Герритом.

0 голосов
/ 07 декабря 2016

Я столкнулся с этой проблемой, потому что я поместил тег в имя ветви:

git tag x.y.z HEAD
git push -f origin x.y.z:master

Так что лучше вместо этого нажать на ветку,

git tag x.y.z HEAD
git push -f origin HEAD:master

Таким образом, Геррит сможет снова слить мои ожидающие патчи.

0 голосов
/ 27 февраля 2015

У меня была такая же проблема «Отправлено, ожидание слияния» без какой-либо зависимости или конфликта.Быстрое решение состоит в том, чтобы просмотреть все открытые позиции и посмотреть, есть ли другие коммиты в статусе «Отправлено, ожидание слияния».Если да, просто откажитесь от них всех.

Затем выполните git commit --amend -m "ваши исходные комментарии" и снова нажмите git push, на этот раз вы можете объединить исправление.

0 голосов
/ 15 ноября 2013

Guy. Если вы делаете коммит, у вас есть ошибка. Эта ошибка была исправлена ​​в Gerrit V2.7.

Ссылка на ошибку: https://groups.google.com/forum/#!topic/repo-discuss/tLVMibfzroc

...