Article View: pl.comp.os.linux.programowanie
Article #152Re: Odp: CVS off-line
From: Tomasz Kłoczko
Date: Tue, 07 Sep 1999 15:16
Date: Tue, 07 Sep 1999 15:16
76 lines
5781 bytes
5781 bytes
Daniel Podlejski <underley@underley.eu.org> wrote: > Tomasz Kłoczko napisal(a): > [...] > : I co najważniejsze nie jest do tego potrzebne jakiekolwiek soecjalne > : narzędzie. Wystarczy popbrać (raz) konkretną zawartość z zewnętrznego cvs > : serwera i wrzucić ją do włąsnego repozytorium, które można zorganizować > : choćby via :fork: czy jakąkolwiek inną metodą. > Ale tu nie chodzi o prywatną kopię repozytorium, tylko o dwukierunkowy > mirror. Jestem offline - pracuje na lokalnym repozytorium, ale co > jeśli będę chciał wprowadzić zmiany do głównego repozytorium > dostepnego przez internet ? Czy wymyslił już ktoś sposób jak to zrobić ? > A jesli się w którymś miejscu pomyliłem, niech mnie Dawid poprawi. ;-) Chyba jednak nadal nie rozumiesz po co sie mirroruje cvsupem serwey CVS i jakie możliwości ma cvs jako traki. Otóż cvsup został przedewszystkim wymyślony na potrzeby tworzenia lokalnych mirrorów z dostępem RO na potrzeby grup dla których robienie czegoś takiego ma sens (słąbe łacze do cvs serwera). Po drugie CVS nigdy nie miał i nic nie wskazuje na to żeby w najbliżeszej przyszłości miał możliwości wymiany informacji na kilku serwerach w trybie tranzakcyjnym w celu stworzenia grupy serwerów z dostępem do tych samych zasobów w trybie RW. Nie mogę zrozumieć czym istotnie może się różnić praca z lokalną kopią ostatnich zasobół w celu zrobienia dużej grupy modyfikacji w oparciu o własne repozytorium synchronizowane ręcznie od czasu do czasu (tak robi choćby człowiek zajmujący się glade czy kilak osób zajmujących sie gimpem .. mowa o tych najważniejszych osobach w tych projektach) z głównym lub bez pomocy takoweg. Po co Ci dostęp do pełnej historii zmian wszystkich zasobów skoro ty jesteś szeregowym developerem który chce coś konkretnie poprawić w istniejacym kodzie ? Nie mogę zrozumieć tego, że inni którzy na CVSie zjadają zęby mogą sobie dać radę bez możliwości jakie Ty chcesz mieć (bez odczuwania jakiegoś dyskomfirtu z powodu braku takich możliwości), a Ty nie i jedyne wytłumacznie jakie mi przychodzi do głowy jest takie, że zapewne z CVSsem za dużo nie pracowałeś jednak .. poprostu. Jeżeli jest to prawdą to poprostu rada .. pochyl głowę, udeż kilka razy czubkiem buta w ziemię i ruszaj do przodu śmiało z założeniem, ze do zbawienia powyższe nei jest Ci koniecznie potzrebne :) I kolejna rzecz .. rozwiązania typu grupa serwerów z tymi samymi danymi i z rónorzędnym dostępem dla wszystkich to nie taka prosta sprawa ponieważ wiąże się to też z wymianą informacji potrzebnych do autentykacji osobników, co w przypadku grupy jednostek połączonych na stałe jest do zrealizowania w uproszczony sposób w ten sposób, że wydzielona jednostka z grupy zajmuje się autentykacją ale jest _nie możliwe do zrealizowania_ w przypadku jednostek łączących sie offline dla kogoś z ulicy kto postanowił postawić sobie w domku na dialup lokalny mirror gdyż to byłaby ewidentna luka w machanizmach bezpieczeństwa a w zasadzie precyzyjniej mówiąc ich kompletny brak. Inne alternatywne rozwiazanie powyższego jest takie, że stawia sie kilka serwerów w jednym miejscu nawet ale z dostępem RO i jeden z dostępem RW, i istaluje się przed tymi nieco inteligentniejsze proxy które wyłapuje zapytania RW (commit, tag, admin i kilka innych) i przekierowuje je do wybranej jednostki, a pozostałe RO (update, checkout, log, status i kilka innych) losowo rozkłada się po pozostałych jednostakach na których kopię zasobów tworzy sie na bierzaco choćby rsyncem poprzez szybką sieć lokalną). Tego typu rozwiazanie bazuje na spostrzeżeniu, że tylko znikomy procent wszystkich bierzących odwołań to są odwołania RW, a reszta to RO. Taki proxy/redirector powinno się dać napisać w kilkudzieięciu linijkach choćby i w perlu co tylko dalej będzie zniechęcać do rozwijania tranzakcyjnej warstwy w oprogramiowaniuklasy version control zgodnie z zasadą KISS. I jeszcze jedno. Jak interesuje ciebie wymiana tranzakcyjna między repozytoriami to zainteresuja sie aegisem, który wyjaśnić trzeba nic nie ma wspólnego z cvs ale i jednocześnie nadal nie umożliwia tego co chcesz osiągnąć. Mechanizmy wymiany tranzakcyjnej w aegisie rozwijają sie bardzo kiepsko gdyż życie pokazuje, że pojedynczy serwer CVS jest w stanie obsługiwać kilkanaście tysięcy developerów rozrzucownych po całym świecie. kloczek -- ----------------------------------------------------------- *Ludzie nie mają problemów, tylko sobie sami je stwarzają* ----------------------------------------------------------- Tomasz Kłoczko, sys adm @zie.pg.gda.pl|*e-mail: kloczek@rudy.mif.pg.gda.pl*
Technical Details
Message-ID:
<7r3a7k$k1m$3@sunrise.pg.gda.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!mat.uni.torun.pl!uw.edu.pl!news.swierk.pl!paa.gov.pl!opoka-warszawa!orion.cst.tpsa.pl!news.icm.edu.pl!news.task.gda.pl!sunrise.pg.gda.pl!not-for-mailReferences:
<7qu60e$4j0$1@atlantis.ssw.krakow.pl> <37d447ac@news.vogel.pl> <7r2qp7$gbf$1@sunrise.pg.gda.pl> <slrn7ta39f.50c.underley@witch.underley.eu.org>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!mat.uni.torun.pl!uw.edu.pl!news.swierk.pl!paa.gov.pl!opoka-warszawa!orion.cst.tpsa.pl!news.icm.edu.pl!news.task.gda.pl!sunrise.pg.gda.pl!not-for-mail
From: Tomasz Kłoczko <kloczek@rudy.mif.pg.gda.pl>
Newsgroups: pl.comp.os.linux.programowanie
Subject: Re: Odp: CVS off-line
Date: 7 Sep 1999 15:16:04 GMT
Organization: Politechnika Gdanska
Lines: 76
Message-ID: <7r3a7k$k1m$3@sunrise.pg.gda.pl>
References: <7qu60e$4j0$1@atlantis.ssw.krakow.pl> <37d447ac@news.vogel.pl> <7r2qp7$gbf$1@sunrise.pg.gda.pl> <slrn7ta39f.50c.underley@witch.underley.eu.org>
NNTP-Posting-Host: rudy.mif.pg.gda.pl
Mime-Version: 1.0
X-Comment-To: kloczek
User-Agent: tin/pre-1.4-19990216 ("Styrofoam") (UNIX) (Linux/2.2.9-ac6 (i586))
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit