-
1. Data: 2009-03-24 11:02:39
Temat: Zarzadzanie kodem w projekcie
Od: "Megas" <k...@o...eu>
Witam all,
Jak zarzadzacie kodem, ktory jest uzywany w dwoch osobnych systemach?
Mam taka sytacje: Jakis czas temu stworzylem system A, ktory sklada sie z
wielu plików zrodłowych, a czesc z nich zamknolem w postaci kilku bibliotek
*.dll.
Teraz tworze drugi system B, w ktorym chce wykorzystac jedna z tych
bibliotek, wiec skopiowalem ja do nowego systemu do katalogu external - ale
teraz pojawia mi sie problem zarzadzania kodem tej biblioteki:
Czy zatem powinien skopiowac kod zrodlowy tej biblioteki do nowego systemu:
1) Nie - Dodanie funckjonalnosci tej biblioteki na potrzeby systemy B
bedzie wymagala rekompilacje systemu A. Nowa wersja systemu A. Oraz w jakis
sposob programisci systemu B beda wiedziec ze kod zrodlowy tej biblioteki
jest w systemie A.
2) Tak - To chyba bez sensu by istnialy dwie rozne wersje kodu zrodlowego
tej samej biblioteki.
Jak to robicie z punktu widzenia zarzadznia kodu zrodlowego?
-
2. Data: 2009-03-24 11:50:02
Temat: Re: Zarzadzanie kodem w projekcie
Od: Michoo <m...@v...pl>
Megas pisze:
> Witam all,
>
> Jak zarzadzacie kodem, ktory jest uzywany w dwoch osobnych systemach?
> Mam taka sytacje: Jakis czas temu stworzylem system A, ktory sklada sie z
> wielu plików zrodłowych, a czesc z nich zamknolem w postaci kilku bibliotek
> *.dll.
> Teraz tworze drugi system B, w ktorym chce wykorzystac jedna z tych
> bibliotek, wiec skopiowalem ja do nowego systemu do katalogu external - ale
> teraz pojawia mi sie problem zarzadzania kodem tej biblioteki:
> Czy zatem powinien skopiowac kod zrodlowy tej biblioteki do nowego systemu:
> 1) Nie - Dodanie funckjonalnosci tej biblioteki na potrzeby systemy B
> bedzie wymagala rekompilacje systemu A. Nowa wersja systemu A. Oraz w jakis
> sposob programisci systemu B beda wiedziec ze kod zrodlowy tej biblioteki
> jest w systemie A.
> 2) Tak - To chyba bez sensu by istnialy dwie rozne wersje kodu zrodlowego
> tej samej biblioteki.
>
> Jak to robicie z punktu widzenia zarzadznia kodu zrodlowego?
Repozytorium (darcs/hg/etc) z biblioteką. Dzięki temu możesz mieć 1
miejsce gdzie jest jest kompletny kod i jego kopie pod każdy system -
jak coś zmienisz i uznasz za warte dołączenia we "wspólnej wersji" -
wysyłasz do repo a pod 2 projektem pobierasz. Zaleta jest taka, że
możesz łatwo wprowadzać zmiany z 1 projektu w 2 mimo jakiś
rozwojowych/niekompatybilnych fragmentów, wada - musisz 2 działania wykonać
--
Pozdrawiam
Michoo
-
3. Data: 2009-03-24 12:49:44
Temat: Re: Zarzadzanie kodem w projekcie
Od: "Megas" <k...@o...eu>
Użytkownik "Michoo" <m...@v...pl> napisał w wiadomości
news:gqahd8$rm5$1@news3.onet...
Sorry, ale nie wiem czy wszystko do konca rozumiem:
> Repozytorium (darcs/hg/etc) z biblioteką.
Jest to jedno ogolne/globalne reporytorium bibliotek dzielonych dla
wszystkich projektow?
> Dzięki temu możesz mieć 1 miejsce gdzie jest jest kompletny kod i jego
> kopie pod każdy system.
Kazdy system kopiuje sobie pliki zrodlowe biblioteki do swojego projektu i
nimi zarzadza jak swoimi, czyli w repozytorium danego projektu znajduja sie
pliki zrodlowe tej biblioteki. Kazdy system robi swoje update do swojej
prywatnej biblioteki a nie ogolnej?
> jak coś zmienisz i uznasz za warte dołączenia we "wspólnej wersji" -
> wysyłasz do repo a pod 2 projektem pobierasz. Zaleta jest taka, że możesz
> łatwo wprowadzać zmiany z 1 projektu w 2 mimo jakiś
> rozwojowych/niekompatybilnych fragmentów, wada - musisz 2 działania
> wykonać
Jesli stwierdzi sie, ze zmiany w prywatnej bibliotece sa ekstra, to robi sie
update do biblioteki ogolnej, jako dostepne dla wszystkich - tak?
Jesli jestem nowy w projekcie, to skad mam wiedziec, ze kod tej biblioteki
znajduje sie jeszcze gdzies w repozytorium globalnym a nie tylko w moim
prywatnym?
-
4. Data: 2009-03-24 18:31:48
Temat: Re: Zarzadzanie kodem w projekcie
Od: Michoo <m...@v...pl>
Megas pisze:
> Użytkownik "Michoo" <m...@v...pl> napisał w wiadomości
> news:gqahd8$rm5$1@news3.onet...
>
> Sorry, ale nie wiem czy wszystko do konca rozumiem:
>> Repozytorium (darcs/hg/etc) z biblioteką.
> Jest to jedno ogolne/globalne reporytorium bibliotek dzielonych dla
> wszystkich projektow?
Tak. Najlepiej dla czytelności osobne repo na każdą bibliotekę (nie
mieszają się patche.
>
>> Dzięki temu możesz mieć 1 miejsce gdzie jest jest kompletny kod i jego
>> kopie pod każdy system.
> Kazdy system kopiuje sobie pliki zrodlowe biblioteki do swojego projektu i
> nimi zarzadza jak swoimi, czyli w repozytorium danego projektu znajduja sie
> pliki zrodlowe tej biblioteki. Kazdy system robi swoje update do swojej
> prywatnej biblioteki a nie ogolnej?
Tak. Jak dojdziesz do wniosku, że kod nadaje się do włączenia do ogólnej
to po prostu wysyłasz tam odpowiednie patche.
>
>> jak coś zmienisz i uznasz za warte dołączenia we "wspólnej wersji" -
>> wysyłasz do repo a pod 2 projektem pobierasz. Zaleta jest taka, że możesz
>> łatwo wprowadzać zmiany z 1 projektu w 2 mimo jakiś
>> rozwojowych/niekompatybilnych fragmentów, wada - musisz 2 działania
>> wykonać
> Jesli stwierdzi sie, ze zmiany w prywatnej bibliotece sa ekstra, to robi sie
> update do biblioteki ogolnej, jako dostepne dla wszystkich - tak?
Tak.
>
> Jesli jestem nowy w projekcie, to skad mam wiedziec, ze kod tej biblioteki
> znajduje sie jeszcze gdzies w repozytorium globalnym a nie tylko w moim
> prywatnym?
Dowiadujesz się od innych/szefa projektu. Swoje prywatne repozytorium
tworzysz jako kopię albo głównego, albo jednej z jego kopi. (Jest to
zaleta w porównaniu do np. svn gdzie jest tylko centralny serwer).
--
Pozdrawiam
Michoo
-
5. Data: 2009-03-25 10:26:42
Temat: Re: Zarzadzanie kodem w projekcie
Od: "Megas" <k...@o...eu>
Użytkownik "Michoo":
> Dowiadujesz się od innych/szefa projektu. Swoje prywatne repozytorium
> tworzysz jako kopię albo głównego, albo jednej z jego kopi. (Jest to
> zaleta w porównaniu do np. svn gdzie jest tylko centralny serwer).
Hehe. A ja caly czas myslałem wlasnie o svn. A o jakim ty typie repozytorium
myslisz?
-
6. Data: 2009-03-25 13:16:18
Temat: Re: Zarzadzanie kodem w projekcie
Od: Michoo <m...@v...pl>
Megas pisze:
> Użytkownik "Michoo":
>> Dowiadujesz się od innych/szefa projektu. Swoje prywatne repozytorium
>> tworzysz jako kopię albo głównego, albo jednej z jego kopi. (Jest to
>> zaleta w porównaniu do np. svn gdzie jest tylko centralny serwer).
> Hehe. A ja caly czas myslałem wlasnie o svn. A o jakim ty typie repozytorium
> myslisz?
Rozproszonym (distributed version control system).
(darcs/mercurial/git). Svn to jest pomyłka - nie możesz w porządny
sposób zarządzać wieloma kopiami.
--
Pozdrawiam
Michoo
-
7. Data: 2009-03-25 13:38:44
Temat: Re: Zarzadzanie kodem w projekcie
Od: "Megas" <k...@o...eu>
Użytkownik "Michoo"
> Rozproszonym (distributed version control system). (darcs/mercurial/git).
> Svn to jest pomyłka - nie możesz w porządny sposób zarządzać wieloma
> kopiami.
Ja cały czas pracuje na SVN. Czy mogbys naswietlic - nie tylko mi - czym w
istocie rozni sie distributed version control system od SVN.
Na SVN jest jedno globalne repozytorium na projekt. Kazdy programista robi
swoja lokalna kopie tego repozytorium na swoj dysk, pracuje na nim i kiedy
postanowi ze zmiany sa ok, wysyla je do globalnego repozytorium. Od tego
momentu kazdy moze juz sobie uaktualnic swoja lokalna wersje kodu na nowa
wersje znajdujaca sie w globalnym repo.
A jak to wyglada w przypadku distributed version control system?
Pozdrawiam
Marcin
-
8. Data: 2009-03-25 15:33:24
Temat: Re: Zarzadzanie kodem w projekcie
Od: Mikolaj Rydzewski <m...@c...pl>
Megas wrote:
> Na SVN jest jedno globalne repozytorium na projekt. Kazdy programista robi
> swoja lokalna kopie tego repozytorium na swoj dysk
Nie. Właśnie tego nie może zrobić. To co mamy na dysku to jest kopia
robocza wybranego fragmentu repozytorium. Kopia, wykonana na podstawie
określonej rewizji repozytorium.
Polemizowałbym jednak czy SVN to pomyłka. Dla pewnych zastosowań
rozproszone systemy mogą być 'pomyłką'.
-
9. Data: 2009-03-25 15:42:16
Temat: Re: Zarzadzanie kodem w projekcie
Od: "Megas" <k...@o...eu>
Użytkownik "Mikolaj Rydzewski"
> Nie. Właśnie tego nie może zrobić. To co mamy na dysku to jest kopia
> robocza wybranego fragmentu repozytorium. Kopia, wykonana na podstawie
> określonej rewizji repozytorium.
Mamy projekt A. Na serwerze SVN jest repozytorium tego projektu dostepne dla
kazdego
czlonka projektu. Sciagam sobie na dysk (SVN Checkout...) ten projekt z
repozytorium i mam
swoja lokalna kopie. Robie zmiany jaki mi trzeba na nim i wysylam do
repozytorium
(SVN Commit). Od tego momentu moje zmiany sa dostepne dla wszystkich.
A jak działaja Rozproszone Repozytoria (distributed version control
system)??
> Polemizowałbym jednak czy SVN to pomyłka. Dla pewnych zastosowań
> rozproszone systemy mogą być 'pomyłką'.
Kiedy to rozproszone repozytoria sa pomylka? moze przyklady takich sytuacji
dla celow edukacyjnych?
PS. Jakie repozytorium rozproszone polecacie najbardziej?
-
10. Data: 2009-03-25 15:53:56
Temat: Re: Zarzadzanie kodem w projekcie
Od: Daniel Janus <p...@n...korpus.pl>
Dnia 25.03.2009 Megas <k...@o...eu> napisał/a:
> Mamy projekt A. Na serwerze SVN jest repozytorium tego projektu dostepne dla
> kazdego
> czlonka projektu. Sciagam sobie na dysk (SVN Checkout...) ten projekt z
> repozytorium i mam
> swoja lokalna kopie.
Nie. Gdybyś miał swoją lokalną kopię, to inni mogliby ją wycheckoutować od
Ciebie. To jest, owszem, kopia *zawartości* repozytorium, ale *nie*
kopia repozytorium.
W DVCS-ach kopie robocze *są* pełnoprawnymi repozytoriami. Co oznacza, że
branczowanie jest tanie, należy to robić, a w niektórych systemach (Darcs)
wręcz nie ma pojęcia brancha: jeśli chce się zbranczować repozytorium, to
się je checkoutuje gdzieś indziej (tworząc nowe będące drugą kopią) i
między takimi repozytoriami można selektywnie przesyłać patche w tę i we w tę.
> PS. Jakie repozytorium rozproszone polecacie najbardziej?
Poużywaj trochę Darcsa, jest najprostszy i łatwo się go nauczyć. Potem
spróbuj Mercuriala i gita.
--
Daniel 'Nathell' Janus, m...@n...korpus.pl, http://korpus.pl/~nathell
"Chryste, chcemy czystej.
Boże, coraz drożej.
Panie, chcemy taniej." [JacPo]