[devel] gear-changelog: group commits by branch

Paul Wolneykien manowar на altlinux.org
Ср Июл 13 21:45:58 UTC 2011


14.07.2011 01:32, Alexey Gladkov пишет:
> 14.07.2011 00:34, Paul Wolneykien wrote:
>> Насколько я понимаю, использование директивы `diff' в .gear/rules
>> предполагает, что каждый бранч заводится для определённого вида
>> изменений, преследующих определённую цель. Логично группировать
>> информацию об изменениях, объединённых одной задачей. Кроме того,
>> различные бранчи могут представлять собой просто различные части
>> проекта, разнесённые по отдельным директориям.
> 
> Но какой смысл их группировать по бранчам, ведь в changelog совершенно
> не важно из какого бранча пришло изменение ?

  Ещё раз: это подходит для случая, когда важно, из какого бранча пришло
изменение. Если я правильно понял, то вы в проекте gear используете
определённые соглашения для заголовков сообщений, чтобы группировать
коммиты. Это — один способ группировать коммиты. Но есть и другой: для
решения какой-то одной задачи отвести какой-то отдельный бранч и следить
за тем, чтобы коммиты, связанные с решением данной задачи, попадали
только в данный бранч. Это тоже требует определённой дисциплины, как и
форматирование заголовков. Определённым приемуществом является тот факт,
что из такого бранча-под-задачу можно затем приготовить тематический
патч (и отправить его в апстрим).

> 
>> Использование regexp предполагает, что формат сообщений оговорён и что
>> все его придерживаются. На правтике это далеко не всегде возможно.
> 
> Эээээ... почему не возможно ?

  Не все участники проекта одинаково дисциплинированы. :)

> 
> Регулярные выражения очень гибкие. Предполагается, что через правила
> вы выделяете важные изменения, которые определённым образом
> сгруппированы в changelog.
> 
> Ваш же подход предполагает "свалить" все коммиты относящиеся к бранчу.
> Туда попадут и Merge коммиты, и другие не существенные изменения.

  Здесь напрашивается ещё одно улучшение: можно фильтровать часть
коммитов, например по регулярному выражению (если просто забить через
'filter', пустая строка не будет добавлена?). Хотя merge можно вычислить
надёжно по наличию дополнительного родителя.

> 
>> Насчёт приоритета, думаю, правильно: если человек явно в сообщении
>> указал, что изменения касаются какого-то определённого объекта, то
>> следует верить ему.
> 
> Хм ... но есть ли в этом смыл ?

  Роботы должны верить людям. :)

> 
>> Да, я знаю. Буду рад более эффективной реализации.
> 
> Вы автор, вам и карты в руки :)

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


    Паша.


Подробная информация о списке рассылки Devel