distfiles/Attic

Jan Rekorajski baggins w sith.mimuw.edu.pl
Wto, 30 Gru 2003, 00:23:29 CET


On Tue, 30 Dec 2003, Andrzej Krzysztofowicz wrote:

> Jan Rekorajski wrote:
> > Czas chyba najwyzszy zrobic jakis Attic w distfiles - pomoze to takim
> > jak ja ktorzy rsyncuja distfiles a nie zalezy im na trzymaniu zabytkow.
> > Moja propozycja jest nastepujaca:
> > 
> > serwer:
> > - skrypt obslugujacy distfiles jesli zobaczy ze zmienilo sie Source-md5
> >   bierze stary katalog i przerzuca go do Attic (struktura katalogow
> >   bylaby taka sama jak w / - by-md5/{...})
> 
> Gdzie ? Tylko na HEAD ? A co z branczami ?

Na wszystkim, po cvs status foo.spec sprawdzac rev i brac poprzednie do
diffa.

> Na wielu branczach moze byc plik, ktory jest/byl na HEAD i niekoniecznie
> nalezy go od razu wyrzucac.

mv != rm

> Pominalem tu taki "drobiazg", ze ten sam plik moze wystepowac w wielu
> specach i na ogol zmiana wersji nie odbywa sie synchronicznie.

Tego nie przeskoczysz niczym, niestety.

> > klient:
> > - builder jesli nie znajdzie pliku w distfiles patrzy do disfiles/Attic
> 
> Dodatkowe polaczenie: niepotrzebna komplikacja.
> Zwlaszcza jak ktos ciagnie wiele plikow...
> Nawiazanie polaczenia jest duzo wolniejsze niz sama transmisja.

W przypadku distfiles jest czas nawiazania polaczenia jest pomijalny -
tam sa duze pliki (do drobiazgu mamy cvs).

> > Calosc jest banalnie prosta, nie trzeba recznie nic kasowac/przenosic -
> > wszystko robilaby skryptologia. Za to przy mirrorowaniu distfiles
> > wystarczy podac jeden --exclude Attic zamiast listy >6000 plikow ;)
> > 
> > Czesc kliencka zaraz zrobie - nic to nie zepsuje a bedzie. Niestety na
> > czesc serwerowa jestem za cienki w perlu - a lepiej zebym nic nie
> > rozwalil.  Jakas dobra dusza?
> 
> Wydaje mi sie, ze mozna to rozwiazac inaczej. Zrobic 2 drzewka:
> - podstawowe zawierajace wszystko,
> - dodatkowe zawierajace tylko strukture katalogow + _twarde_ dowiazania
>   do plikow z pierwszego drzewka - to drzewko nalezaloby rsyncowac.
> 
> Koszt jest niewielki. Max. ~ (liczba roznych md5) x 4 kB, zalezny od fs-u
> (na reiserze i/lub blocksize=2kB powinien byc mniejszy).
> Obecnie: 16140 x 4 kB ~= 65MB.
> Niewiele wobec 20.5 GB obecnie zajmowanych przez distfiles.
> 
> Sposob zarzadzania moze byc taki jak zasugerowales lub skryptem z crona
> wyciagajacym co jakis czas z cvs-u liste wszystkich md5 na "wierzcholkach"
> wszystkich nazwanych branchy.
> 
> Zaleta: nie wymaga _zadnych_ zmian po stronie klienta.
> 
> Comments ?

Tez dobre.
Szczerze to mnie zalezy na tym zeby ten Attic _byl_, a jak bedzie
wygladal od strony technicznej to juz sprawa magikow perlowych jak jest
to wygodniej zaimplementowac :)

Janek
-- 
Jan Rękorajski            |  ALL SUSPECTS ARE GUILTY. PERIOD!
baggins<at>mimuw.edu.pl   |  OTHERWISE THEY WOULDN'T BE SUSPECTS, WOULD THEY?
BOFH, MANIAC              |                   -- TROOPS by Kevin Rubio



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