Raport mniejszości (było: Re: subversion)

Michal Moskal malekith w pld-linux.org
Pon, 15 Wrz 2003, 12:31:23 CEST


On Mon, Sep 15, 2003 at 09:17:58AM +0200, Tomasz Trojanowski wrote:
> Widziałbym to trochę inaczej. Najpierw struktura, a potem skomentuję
[...]
> No i komentuję.
> 
> To wszystko oczywiście przy założeniu, że na potrzeby SOURCES/SPECS 
> przeznaczamy osobne repozytorium, bez jakichkolwiek innych projektów w 
> nim.

Nawet nie myślałem o tym zbytnio, tak chyba jest lepiej.

> Trzymanie osobno specy i źródeł ma tę zaletę, że pozwala je jednym 
> poleceniem ściągnąć z repozytorium. Druga sprawa, w związku z troszkę inną 
> koncepcją tworzenia branchy i tagów, pozwala (również jednym poleceniem)
> stworzyć branch lub taga dla całego pakietu.
> 
> No i mass commity nie będą już takie proste :P
> 
> Wiązałoby się to niestety, z odejściem od struktury katalogów w ~/rpm, 
> takiej jak oferuje rpm. 
> 
> Wymagałoby to zmian w /usr/lib/rpm/macros jak poniżej. Założyłem że rpm 
> rozwiązuje poprawnie makro %{name} przy budowaniu pakietu -- nie 
> sprawdzałem.
> 
> %_topdir	%(echo $HOME)/rpm
> %_builddir	%{_topdir}/BUILD
> %_rpmdir	%{_topdir}/RPMS
> %_srcrpmdir	%{_topdir}/SRPMS
> %_sourcedir	%{_topdir}/packages/%{name}/SOURCES
> %_specdir	%{_topdir}/packages/%{name}

Mi się podoba. Choć może dałoby się bez osobnego SOURCES/ w ogóle?

> Pozostaje jeszcze kilka problemów na które natknąłem się w trakcie 
> używania Subversion:
> 
> 1. Subversion nie obsługuje "$Log$", w związku z tym nie jest możliwe 
>    tworzenie %changelog tak jak to ma miejsce w starym repozytorium. Nie 
>    wiem na ile można to rozwiązać w hooks/pre-commit.tmpl, bo nie wiem czy 
>    istnieje możliwość modyfikacji plików w repoztytorium z poziomu tego 
>    skryptu.

W connectivie jakoś to robią ;-) Myślę, że można jakiś mały automacik
biegający po repo zrobić, albo może coś po stronie klienta. Od razu
moglibyśmy mieć changelogi w formacie rpm'a.

> 2. Nie wiem jak automatycznie ustawiać
>      svn propset svn:keywords "Id Date Rev" foobar.spec
>    dla każdego pliku *.spec. Pozostaje ustawianie wszystkich indywidualnie 
>    dla każdego pliku.

Chyba trzeba osobno.

-- 
: Michal Moskal :: http://www.kernel.pl/~malekith : GCS {C,UL}++++$ a? !tv
: When in doubt, use brute force. -- Ken Thompson : {E-,w}-- {b++,e}>+++ h



Więcej informacji o liście dyskusyjnej pld-devel-pl