From: Alexey Gladkov <legion@altlinux.ru>
To: ALT Linux Team development discussions <devel@lists.altlinux.org>
Subject: Re: [devel] gear-changelog
Date: Tue, 14 Apr 2009 22:20:28 +0400
Message-ID: <49E4D3EC.4020300@altlinux.ru> (raw)
In-Reply-To: <9d5146970904140816u189f7a8avb18b2841b42f757d@mail.gmail.com>
14.04.2009 19:16, Afanasov Dmitry wrote:
> /me до сих не допер, как gear-changelog юзать и ничего, живой вроде :)
Ну эта команда была сделана когда в нескольких своих проектах я устал
делать механическую работу перед релизом.
Эта утилита формирует changelog, но делает это несколько иначе чем
git-shortlog. Вот, например, вывод последнего:
Alexey Gladkov (11):
Add license
shell-var: Add new source
shell-args: parse_common_option(): Option --quiet cancels option --verbose
shell-var: shell_var_unquote(): Returns the value through eval
shell-var: Rename shell_var_{no,yes} -> shell_var_is_{no,yes}
Merge branch 'shell-var'
shell-lists: Add new source
shell-quote: Add quote_shell_args()
shell-quote: Fix Usage for quote_shell_args
shell_var_unquote(), string_quote_remove(): Fix "'" unquote for bash
shell-quote: Rewrite quote_shell_args() from scratch, to avoid the dangerous shell constructions
Из 11 коммитов как тут сделать changelog можно, но если коммитов
значительно больше и изменения ещё более дифференцированы, то радости
никакой при этом не испытываешь. Я сломался на втором большом релизе.
Утилита gear-changelog выводит коммиты от последнего тега, если не указано другое.
Вот вывод те же изменения, но полученные через gear-changelog:
$ gear-changelog
* Tue Apr 14 2009 Alexey Gladkov <legion@altlinux.org> 0.0.9-alt2
- shell-quote changes:
+ Rewrite quote_shell_args() from scratch, to avoid the dangerous
shell constructions.
+ Fix Usage for quote_shell_args.
+ Add quote_shell_args().
- shell-var changes:
+ Rename shell_var_{no,yes} -> shell_var_is_{no,yes}.
+ shell_var_unquote(): Returns the value through eval.
+ Add new source.
- Other changes:
+ Update .gear/changelog.
+ shell_var_unquote(), string_quote_remove(): Fix "'" unquote
for bash.
+ shell-lists: Add new source.
+ shell-args: parse_common_option(): Option --quiet cancels
option --verbose.
+ Add license.
Они сгруппированы и из них выброшены некоторые лишние коммиты.
Как это сделано:
gear-changelog использует набор со своими правилами. Формат их таков:
width: <NUM>
Это глобальная директива в правилах, указывающая ширину строки.
group: <TITLE>
regexp: <PATTERN>
filter: <SED-S-COMMAND>
Первая строка это заголовок группы, вторая это grep-паттерн для того,
чтобы отнести коммит к этой группе, третья (необязательная) строчка
это sed'овкий s/// для возможных исправлений. Например:
group: shell*-config changes
regexp: ^shell(-ini)?-config:
filter: s/^shell(-ini)?-config: //
group: Documentation changes
regexp: ^[^:]+\.man:
group: Other changes
regexp: .*
Можно не заниматься группировками и вызвать утилиту без правил
вообще (--no-rules) и/или не применять группировку (--no-groups).
В этом случае вывод будет прост. Но мне кажется что группировать по
префиксу коммита очень удобно... особенно если с терминологией
определишься. Это помогает и коммиты более понятные делать и changelog
формировать.
У самой утилиты gear-changelog очень мало опций, единственная которая
ещё достоена внимания это --format. Эта утилита генерирует changelog
не только в rpm формате, формально она поддерживает ещё и deb и gnu.
За два последних прошу не пинать. Я добавлял их из соображений не
прибивания одного какого-то формата вывода. Они сделаны just-for-fun,
но похожи на настоящие :)
> увидеть бы последовательность команд и ошибки, тогда проще было бы.
> чем лопатить яростную переписку.
Приведённый тут вывод был получен на дрепозитории:
http://git.altlinux.org/people/legion/packages/libshell.git
Вот как выглядbт его gear/changelog:
http://git.altlinux.org/people/legion/packages/libshell.git?p=libshell.git;a=blob;f=.gear/changelog;hb=HEAD
--
Rgrds, legion
next prev parent reply other threads:[~2009-04-14 18:20 UTC|newest]
Thread overview: 74+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-04-10 12:05 ` [devel] Что делать с XFCE? Alexey Rusakov
2009-04-10 12:46 ` Grigory Batalov
2009-04-10 12:50 ` Eugene Ostapets
2009-04-13 11:29 ` Andrii Dobrovol`s`kii
2009-04-13 12:55 ` Mikhail Gusarov
2009-04-13 12:55 ` kga@altlinux.org
2009-04-13 13:38 ` Mikhail Gusarov
2009-04-13 14:39 ` Motsyo Gennadi aka Drool
2009-04-13 14:40 ` Mikhail Gusarov
2009-04-13 14:49 ` Motsyo Gennadi aka Drool
2009-04-13 14:51 ` Mikhail Gusarov
2009-04-13 14:55 ` Andrii Dobrovol`s`kii
2009-04-13 15:11 ` Mikhail Gusarov
2009-04-13 15:15 ` Andrii Dobrovol`s`kii
2009-04-13 15:32 ` Mikhail Gusarov
2009-04-13 15:17 ` Motsyo Gennadi aka Drool
2009-04-13 15:32 ` [devel] gear-update question Dmitry V. Levin
2009-04-13 17:35 ` [devel] gear-update работает отлично Anton Farygin
2009-04-14 9:04 ` Andrii Dobrovol`s`kii
2009-04-14 9:19 ` Slava Semushin
2009-04-14 9:22 ` Alexey Gladkov
2009-04-14 9:15 ` Andrii Dobrovol`s`kii
2009-04-14 9:33 ` Alexey Gladkov
2009-04-14 10:42 ` Andrii Dobrovol`s`kii
2009-04-14 12:49 ` Dmitry V. Levin
2009-04-14 13:19 ` Andrii Dobrovol`s`kii
2009-04-14 14:15 ` Alexey Gladkov
2009-04-14 14:43 ` Andrii Dobrovol`s`kii
2009-04-14 14:46 ` Andrey Rahmatullin
2009-04-14 14:47 ` Mikhail Gusarov
2009-04-14 14:48 ` Alexey Gladkov
2009-04-14 15:08 ` Andrii Dobrovol`s`kii
2009-04-14 15:02 ` Damir Shayhutdinov
2009-04-14 15:16 ` Afanasov Dmitry
2009-04-14 18:20 ` Alexey Gladkov [this message]
2009-04-14 18:58 ` [devel] gear-changelog Afanasov Dmitry
2009-04-14 19:00 ` Mikhail Gusarov
2009-04-14 19:57 ` Afanasov Dmitry
2009-04-14 20:18 ` Alexey Gladkov
2009-04-14 20:22 ` Afanasov Dmitry
2009-04-15 7:07 ` Mikhail Gusarov
2009-04-15 8:55 ` Afanasov Dmitry
2009-04-15 9:03 ` Mikhail Gusarov
2009-04-15 22:31 ` [devel] gear-update работает отлично Evgeny Sinelnikov
2009-04-15 22:50 ` Alexey Gladkov
2009-04-16 2:42 ` Slava Semushin
2009-04-16 7:13 ` Epiphanov Sergei
2009-04-16 10:14 ` Andrii Dobrovol`s`kii
2009-04-16 10:17 ` Andrii Dobrovol`s`kii
2009-04-16 10:27 ` Anton Farygin
2009-04-16 11:03 ` Andrii Dobrovol`s`kii
2009-04-16 11:27 ` Anton Farygin
2009-04-16 12:10 ` Vladimir Lettiev
2009-04-16 12:12 ` Andrey Rahmatullin
2009-04-16 12:13 ` Afanasov Dmitry
2009-04-16 12:14 ` Andrey Rahmatullin
2009-04-16 12:18 ` Anton Farygin
2009-04-16 12:13 ` Anton Farygin
2009-04-16 11:05 ` Damir Shayhutdinov
2009-04-14 12:52 ` Alexey Gladkov
2009-04-13 15:00 ` [devel] Что делать с XFCE? Motsyo Gennadi aka Drool
2009-04-10 12:54 ` Alexey I. Froloff
2009-04-10 13:18 ` Alexey Shabalin
2009-04-10 13:36 ` Eugene Ostapets
2009-04-10 13:41 ` AShen
2009-04-10 15:01 ` Eugene Ostapets
2009-04-13 5:38 ` AShen
2009-04-11 4:04 ` Eugene Prokopiev
2009-04-11 6:13 ` Eugene Ostapets
2009-04-12 11:57 ` Eugene Prokopiev
2009-04-12 12:00 ` Eugene Ostapets
2009-04-12 13:00 ` Mikhail Gusarov
2009-04-13 7:23 ` Андрей Черепанов
2009-04-13 15:22 ` Anton V. Boyarshinov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=49E4D3EC.4020300@altlinux.ru \
--to=legion@altlinux.ru \
--cc=devel@lists.altlinux.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
ALT Linux Team development discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
public-inbox-index devel
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.devel
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git