gerrit перебазировать ветку обзора последних изменений из восходящей ветки

Можно ли перебазировать ветку темы с некоторыми изменениями, ожидающими рассмотрения в основной ветке? Я хочу сохранить все комментарии к обзору и т. д., но также внести последние изменения в основной поток.

Я подумал о следующем рабочем процессе (не уверен, что он работает):

  • перебазировать ветку локальной темы на последние изменения из основной ветки;
  • принудительно отправить новые коммиты в локальную ветку темы (без коммитов, отправленных в gerrit для проверки) в refs/heads/thetopicbranch gerrit, чтобы заменить коммиты в ветке gerrit новыми изменениями из основной ветки;
  • отправить заголовок ветки локальной темы в gerrit для проверки, т. е. HEAD:refs/for/thetopicbranch — это отправит изменения, которые требуют проверки, и gerrit (надеюсь) сопоставит коммит с уже отправленным их Change-Id.

То же самое, но в командах git (все делается в локальной ветке темы):

  • git перебазировать вверх по течению
  • git push gerrit:project `git merge-base upstream localtopicbranch`:refs/heads/thetopicbranch -f
  • git push gerrit:project HEAD:refs/for/thetopicbranch

Будет ли работать эта схема?


person michael nesterenko    schedule 14.07.2012    source источник


Ответы (1)


Конечно, довольно легко поместить некоторые изменения ветки темы поверх других изменений основной ветки, которые находятся на рассмотрении в Gerrit. Рабочий процесс, который я обычно использую:

  • Загрузите исходные изменения, которые вы хотите в качестве родителя. Обычно вы не хотите создавать новый набор исправлений для этих изменений, поэтому я использую команду «git checkout», которую можно скопировать и вставить из Gerrit. С помощью других команд (pull и cherry-pick) вы создадите новую фиксацию, если с момента загрузки исходного изменения произошли другие изменения.
  • Вишневый выбор изменения, которое вы хотите, чтобы быть поверх вышестоящих изменений, которые вы только что получили. Скопируйте и вставьте команду git cherry-pick из gerrit
  • Загрузить в gerrit через git push <server> HEAD:refs/for/<topicBranch>
person Brad    schedule 20.07.2012
comment
Но если это функциональная ветка с закрытыми изменениями, вы получите (change https://review.gerrithub.io/123..321 closed), есть ли способ справиться с этим? - person netigger; 07.12.2017