[devel] gear - с чего начинать

Dmitry V. Levin =?iso-8859-1?q?ldv_=CE=C1_altlinux=2Eorg?=
Сб Май 6 17:36:17 MSD 2006


On Sat, May 06, 2006 at 04:26:01PM +0400, Aleksey Avdeev wrote:
> Stanislav Ievlev пишет:
> > On Sat, May 06, 2006 at 04:09:03PM +0400, Anton Farygin wrote:
> >>Dmitry V. Levin wrote:
> >>>On Sat, May 06, 2006 at 03:38:53PM +0400, Stanislav Ievlev wrote:
[...]
> >>например - автоматическое добавление changelog'ов.
> >>
> >>Или генерация спека исходя из какого-то имени. Я думаю что Стас имеет в 
> >>виду последнее вместе с первым.
> >>
> >>Но я бы не стал заморачиваться с генерацией спека.. разве что только с 
> >>changelog.
> > 
> > Да, как минимум это было бы очень удобно.
> > Коли там делаются специальные теги для отметки того что надо забрать в
> > Сизиф, то ChangeLog можно делать автоматически, так же собственно как и
> > версию-релиз сборки.
> > Содержимое ChangeLog вполне-понятно
> > Сборка n
> > .... <все логи git, от сборки n-1, до сборки n>
> > Сборка n-1
> > .... <все логи git, от сборки n-2, до сборки n-1>
> > 
> > И так далее.
> > 
> > Тогда можно было бы не вспоминать все свои действия и дублировать е
> > все сообщения и в spec и в репозитарий.
> 
>   На мой взгляд, надо предусмотреть возможность подчистки такого,
> сгенерённого автоматически, ChangeLogа: комментарии к commitам могут
> содержать достаточно много мусора, но возможность переноса части из них
> в ChangeLog -- желательна (по опыту общения со своим svn репозитарием
> пакетов).

Я думаю, что это лучше сделать с помощью "add_changelog -e" и утилитки,
которая будет формировать этот текст в духе
/usr/share/git-core/templates/hooks/update.

Например, если есть
$ cat .gear-rules 
spec: slocate/slocate.spec
tar: slocate
$ git-describe 
0.2.10-alt1-gfad35bc
$ sed '/^version:[[:space:]]*/I!d;s///;q' slocate/slocate.spec
0.2.10
$ git-status 
nothing to commit

.. то можно получить
$ subst 's/^\(Version:\).*/\1 0.2.11/' slocate/slocate.spec
$ add_changelog -e "$(git-describe |sed 's/^/^/;s/-g.*//' |xargs -r git-rev-list --pretty HEAD |sed -ne 's/^[[:space:]]\+\(.\+\)/\1/p')" slocate/slocate.spec
$ git-diff
diff --git a/slocate/slocate.spec b/slocate/slocate.spec
index 9fc37c5..80fd530 100644
--- a/slocate/slocate.spec
+++ b/slocate/slocate.spec
@@ -1,5 +1,5 @@
 Name: slocate
-Version: 0.2.10
+Version: 0.2.11
 Release: alt1
 Serial: 1
 
@@ -43,6 +43,17 @@ install -pD -m644 /dev/null %buildroot%_
 %attr(640,root,%name) %verify(not md5 mtime size) %ghost %_localstatedir/locate/locatedb
 
 %changelog
+* Sat May 06 2006 Dmitry V. Levin <ldv на altlinux> 1:0.2.11-alt1
+renamed: .buildspec -> .gear-rules
+Moved files to slocate subdirectory.
+new file: .buildspec
+print_stats: fix english grammar
+empty constraints list matches nothing
+Moved locate database open/close to separate files.
+Moved locate statistics to separate files.
+Minor code cleanup.
+Renamed: getstr.c -> readstr.c, getstr.h -> readstr.h, locate.h -> match.h
+
 * Wed Apr 19 2006 Dmitry V. Levin <ldv на altlinux> 1:0.2.10-alt1
 - mklocatedb:
   + Added fs types: afs, autofs, befs, bfs, capifs, cifs, coh,

Очевидно, что такой changelog годится лишь в качестве рыбы.


-- 
ldv
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 191 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20060506/14477ea6/attachment-0001.bin>


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