Есть ли способ заставить Геррит заставить все коммиты в ветке подталкивать к проверке кода? - PullRequest
2 голосов
/ 28 февраля 2012

Геррит объединит потенциально непросмотренные изменения, которые ранее были в истории фиксации и находятся в другой «ветке» хранилища.Вот пример:

  1. оформить ветвь gerrit devel
  2. создать файл1.txt, добавить, зафиксировать, нажать refs/heads/temp_branch
  3. создать файл2.txt,добавить, зафиксировать, нажать на refs/for/devel для проверки кода

Когда файл file2.txt принят и объединен, то file1.txt, потому что он находится в восходящем направлении, а не в отдельной ветви изменений, помеченной как проверяемая, также объединяется. Это потенциально очень проблематично, и единственное решение, которое я могу придумать, состоит в том, чтобы заставить каждое изменение, переданное в каждую ветвь, проверяться кодом.Это не идеально, так как вы можете захотеть иметь несколько веток с одной группой утверждающих или без проверки кода (для некоторой замены кода?).

Решение здесь состоит в том, чтобы заставить каждый коммит в истории бытьпомещены в проверку кода, как и в случае, если file1.txt не был перенесен в другую ветку в том же хранилище.

Есть ли в Геррите параметр, навязывающий это правило?Кто-нибудь может подумать о рабочем процессе, который позволяет свободно переходить на refs/heads/, не рискуя загрязнить другие ветви?

Большое спасибо.

1 Ответ

2 голосов
/ 28 февраля 2012

Я подозреваю, что вы наблюдаете это поведение, потому что коммит на шаге 3 имеет коммит шага 2 как его родитель Вы не можете отправить коммит, если не были отправлены все его родители. Я согласен с вами, что это похоже на ошибку в Gerrit - он должен отказаться от отправки, пока не будет отправлен шаг 2.

Попробуйте этот обходной путь - добавьте шаг 2a после шага 2:

2a. Оформите ветку devel снова

Если коммиты идут в 2 разные ветви, для них не имеет смысла быть линейными.

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

...