Постоянные конфликты при использовании mergerequests и releasenotes в git - PullRequest
0 голосов
/ 05 ноября 2018

Мы записываем наши заметки о выпуске во время разработки в документе .md. Этот документ содержит пояснения по функциям, заметки о миграции и многое другое. При объединении ветвей функций у нас часто возникает проблема, связанная с конфликтами внутри этого файла, хотя обычно добавляется только содержимое.
В частности, очень досадно, что после каждого выполненного запроса на слияние уже выполняющиеся запросы на слияние больше не могут автоматически объединяться, поскольку теперь в примечаниях к выпуску снова возникают конфликты.

Мы рассмотрели различные варианты решения. Тем не менее, мы хотели бы избежать передачи на аутсорсинг примечаний к выпуску отдельным репозиториям или создания отдельного файла для каждой функции, которая затем должна быть объединена при выпуске.

Поскольку мы, безусловно, не единственные, кто сталкивается с этой проблемой, мы надеемся, что сможем получить некоторые ценные советы о том, как избежать ручного объединения заметок о выпуске.

Я сделал эскиз проблемы. Зеленые изменения могут быть объединены автоматически, в то время как красные изменения требуют внимания человека. Our problem: We need to merge master into every other featurebranch just because of the relesenotes.

Редактировать в ответ на комментарий Lasse Vågsæther Karlsen :

На самом деле наши заметки о выпуске выглядят так:

# Release 5.23.23

## Highlights

### Feature0
A simple explaination in few words targeting non-tec-reader
### Feature1
Another simple explaination in few words targeting non-tec-reader

## New Features
### Feature0
A more detailed explaination targeting other developers. We explain how to use the feature with a small snippet.
### Feature1
Another more detailed explaination targeting other developers. We explain how to use the feature with a small snippet.

## API Changes
### Deprecation of Method `Service#foo`
Feature0 intoduces a better API. `Service#foo` is deprecated as of now and will be removed in a future version
### New Method `QualityService#bar`
This Method replaces `Service#foo` and is way better because of some reason.

Как видите, каждая функция упоминается в нескольких разделах. Мы уже думали о создании собственного инструмента для объединения нескольких хорошо отформатированных файлов в один документ во время выпуска, но прежде чем приложить какие-либо усилия, мы хотели убедиться, что лучшего решения нет.

1 Ответ

0 голосов
/ 27 декабря 2018

Альтернативный способ создания журнала изменений можно увидеть в самом * * * * * * * * * * * *

Каждая ветвь функции имеет коммит слияния ( как этот ), описывающий, что такое ветвь функции.

После этого примечание к выпуску автоматически обновляется в основной ветке ( как в этом примере )

Это позволяет избежать обновления общего файла в нескольких ветвях, а также сложного управления слиянием.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...