Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> Zarządzanie różnymi wersjami skryptu
athabus
post
Post #1





Grupa: Zarejestrowani
Postów: 898
Pomógł: 48
Dołączył: 2.11.2005
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Witajcie.

Mam taki problem, że chciałbym zarządzać różnymi wersjami tego samego skryptu.

Dla uproszczenia powiedzmy, że mam skrypt sklepu pisany pod konkretne wymagania klienta. Chciałbym mieć "gotową" bazę i dopisywać funkcjonalności według potrzeb. Z drugiej strony wiadomo, że czasami pojawi się jakieś udoskonalenie, które chciałbym dodać do bazowej wersji skryptu.

I tu pojawia się problem jak czymś taki zarządzać? Jak się nie pogubić?

Myślę nad wykorzystaniem svn i rozwijaniem każdego "klienta" w osobnej gałęzi, ale może są jakieś lepsze pomysły na to? Czy w svn'nie nie pojawi się w końcu tyle rozbieżności, że każde łączenie będzie oznaczało godzinę ślęczenia nad rozwiązywaniem konfliktów?

Będę wdzięczny za dzielenie się swoimi doświadczeniami.
Go to the top of the page
+Quote Post
askone
post
Post #2





Grupa: Zarejestrowani
Postów: 654
Pomógł: 121
Dołączył: 27.10.2007
Skąd: Poznań, Łódź

Ostrzeżenie: (0%)
-----


Z własnego doświadczenia mogę powiedzieć, że prędzej czy później coś Ci się rozjedzie... Przy mniejszych projektach daje się wdrażać udoskonalenia w core systemu, ale później w miarę rozwoju pojawia się tyle zależności, że bezproblemowe ich dołączenie w różnych wersjach jest katorżniczą pracą...

Pozdro


--------------------
Kliknij jeśli moja odpowiedź Ci pomogła.
askone.pl
Go to the top of the page
+Quote Post
mike
post
Post #3





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


Zdecydowanie musisz użyć systemu kontroli wersji. W związku z tym, że nastawiasz się na sporo gałęzi i zarządzanie nimi unikaj SVN'a.
SVN ssie. Wybierz GIT'a.
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
SVN ssie.
A jakaś bardziej konkretna argumentacja? Ja tam używam do tego celu SVN i jakoś mnie nie ssie... no chyba że z głodu winksmiley.jpg


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
piotrooo89
post
Post #5


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




ja też SVN'a używam i pięknie wszystko mi działa... zrobię jakiś mały postęp w pisaniu aplikacji cyk commit i już mam kolejna wersje później mogę cofnąć zobaczyć co się zmieniło etc. zdecydowanie system kontroli wersji nie ssie smile.gif


--------------------
Go to the top of the page
+Quote Post
scanner
post
Post #6





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




ssie, to CVS.
SVN mi się osobiście bardzo podoba - a mamy tych repozytoriów nieco - w bardzo rożny sposób zagnieżdżonych.

Mike, może rozwiniesz swoją myśl?


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
darko
post
Post #7





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Systemy kontroli wersji są bardzo dobrym rozwiązaniem, przy większych projektach najlepiej: framework, modularna (modułowa) budowa aplikacji i system kontroli wersji i chyba to byłoby najbardziej optymalne rozwiązanie (sensowne dla średnich i dużych projektów). Wtedy zarządzałbyś wersjami i wprowadzał modyfikacje do wybranych przez Ciebie modułów.


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
athabus
post
Post #8





Grupa: Zarejestrowani
Postów: 898
Pomógł: 48
Dołączył: 2.11.2005
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Cytat(darko @ 25.11.2009, 21:24:30 ) *
Systemy kontroli wersji są bardzo dobrym rozwiązaniem, przy większych projektach najlepiej: framework, modularna (modułowa) budowa aplikacji i system kontroli wersji i chyba to byłoby najbardziej optymalne rozwiązanie (sensowne dla średnich i dużych projektów). Wtedy zarządzałbyś wersjami i wprowadzał modyfikacje do wybranych przez Ciebie modułów.

W zasadzie tak to u mnie teraz wygląda. Tj. framework, MVC i SVN. Z tym, że do tej pory rozwijałem raczej projekt liniowo a teraz będę musiał rozwijać kilka wersji tego samego projektu równocześnie. Myślę nad tym jak to zrobić aby za dużo się nie narobić - boję się rozwijać przez dłuższy czas kilku gałęzi równocześnie bo po dłuższym czasie mogą pojawić się kłopoty z integracją "jądra". Niestety nic innego od gałęzi nie przychodzi mi do głowy.
Go to the top of the page
+Quote Post
darko
post
Post #9





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Nie mam dużego stażu w php, ale sądzę, że przy dobrze zaprojektowanych modułach aplikacji i samej aplikacji (budowa modularna, duża elastyczność, dalece idąca "konfigurowalność" etc. etc.) wspólna logika powinna być jak najbardziej odseparowana od reszty kodu (modułów). Natomiast modyfikacje/ulepszenia/udziwnienia/dodatki (o których rozmawiamy) są wprowadzane w konkretnych i w miarę samodzielnych modułach, tylko tam, gdzie rzeczywiście zachodzi taka potrzeba. Zmiany te nie mogą mieć wpływu na tzw. logikę biznesową. Wiem, że lecę ogólnikami, ale jest to jak najbardziej wykonalne, a nawet wskazane (tym bardziej we wzorcu MVC).


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
mike
post
Post #10





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


Też mi się wydawało kiedyś, że SVN daje wszystko to czego potrzeba.
Okazuje się, że nie: http://whygitisbetterthanx.com

Przede wszystkim praca z wieloma gałęziami, repozytoriami, mergowaniem w GITcie jest dużo przyjemniejsza i prostsza niż w SVN.
Go to the top of the page
+Quote Post
athabus
post
Post #11





Grupa: Zarejestrowani
Postów: 898
Pomógł: 48
Dołączył: 2.11.2005
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Mike nawet zaciekawiłeś mnie tym git'em - jakoś wcześniej nie miałem okazji się przyjrzeć.

Powiem Ci, że masz dużo racji jeśli chodzi o pracę z gałęziami - jest o niebo lepsze niż w SVN. Praca w CLI na SVN przy gałęziach to jest masakra w porównaniu z GIT ;-) Ale w sumie jednak zostanę przy SVN - jakoś nie przemawia do mnie lokalne repozytorium - coś scentralizowanego bardziej mi odpowiada.
Druga rzecz, która rzuciła mi się w oczy to zbyt obszerne komentarze GIT'a w konsoli - za dużo czytania jak dla mnie - W SVN konsola wypluwa to co potrzeba i tylko to co potrzeba.

Muszę jednak przyznać, że kilka rozwiązań z GIT'a chętnie bym zobaczył w SVN'ie

---
*Swoją opinię piszę po ~1,5 godzin zabawy z GIT więc mogę pisać bzdury ;-)
Go to the top of the page
+Quote Post
nospor
post
Post #12





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Ja tam nie wiem co macie do SVN i wielu gałęzi i mergowania. Ja mam dużo tego, wszystko działa i jest GIT winksmiley.jpg


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
piotrooo89
post
Post #13


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




ja w svn obsługuje ok 150 plików, pisane strukturalnie i obiektowo i jeszcze nie miałem żadnego problemu po poruszaniu się po wcześniejszych wersjach smile.gif


--------------------
Go to the top of the page
+Quote Post
athabus
post
Post #14





Grupa: Zarejestrowani
Postów: 898
Pomógł: 48
Dołączył: 2.11.2005
Skąd: Poznań

Ostrzeżenie: (0%)
-----


poruszanie się po wcześniejszych wersjach nie jest problemem, ale nie to jest istotą problemu.

Weźmy taką sytuację. Masz sklep i jego dajesz w gałęzi "trunk" - jest to czysty sklep, który rozwijasz czyli twój produkt. Do tego tworzysz wersje "na życzenie" dla klientów, które bazują na twoim sklepie, ale są jego udziwnionymi wersjami.

Rozwijasz dwie takie wersje w dwóch różnych gałęziach - dajmy s1 i s2. Czasami trafi ci się coś co chcesz z s1 przenieść do trunk, ale części rzeczy nie będziesz chciał przenosić. Poprawki z głównej gałęzi będziesz chciał również przenosić do swoich gałęzi s1 i s2 - nie będziesz przecież usuwał tego samego błędu w każdej gałęzi - git w pracy z gałęziami wydaje się być znacznie bardziej przyjazny niż svn.

Po pewnym czasie z takich projektów wychodzi mały koszmarek jeśli chodzi o zarządzanie nad którym trudno zapanować i tak się zastanawiam czy da się to na dłuższą metę ciągnąć.
Go to the top of the page
+Quote Post
nospor
post
Post #15





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Rozwijasz dwie takie wersje w dwóch różnych gałęziach - dajmy s1 i s2. Czasami trafi ci się coś co chcesz z s1 przenieść do trunk, ale części rzeczy nie będziesz chciał przenosić. Poprawki z głównej gałęzi będziesz chciał również przenosić do swoich gałęzi s1 i s2 - nie będziesz przecież usuwał tego samego błędu w każdej gałęzi
Ja dokładnie mam tak jak opisałeś. Mergowanie SVN sprawdza się tu bardzo dobrze.

Cytat
git w pracy z gałęziami wydaje się być znacznie bardziej przyjazny niż svn
No i tu mnie masz, nie używałem GITa i nie mogę porównać. Nie mniej jednak jak pisałem wcześniej - SVN mi na tym polu sprawdza się dobrze.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
scanner
post
Post #16





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




Cytat(piotrooo89 @ 26.11.2009, 21:21:25 ) *
ja w svn obsługuje ok 150 plików smile.gif

Nasze repozytoria SVN zajmują mi na dysku gdzieś z 8 GB - kilkanaście repo, w jednym kilkadziesiąt gałęzi, core systemu wiązany zarówno do branchy w repo głównym jak i do repo osobnych, biblioteki trzecie typu Zend, fpdf, i wiele innych, niedawno doszła jeszcze integracja systemów z frontendami opartymi na symfony - i tak od pięciu lat smile.gif
Do tego Eclipse + Subclipse + Mylyn z łączem do trac'a i nie wiem, co może być lepszego.
Powód edycji: [scanner]:


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
athabus
post
Post #17





Grupa: Zarejestrowani
Postów: 898
Pomógł: 48
Dołączył: 2.11.2005
Skąd: Poznań

Ostrzeżenie: (0%)
-----


W takim razie chyba spróbuję takiego podejścia... najwyżej się nie uda ;-)

Tym razem jednak będę bawił się konsolą, bo przy poważniejszych operacja (właśnie na gałęziach zresztą) zdarzyło mi się, że repozytorium zostało uszkodzone przez zawieszenie się subclips'a... Nie dało się commitować mimo czyszczenia etc. Pewnie jakiś magik by to naprawił, ale mi specjalnie już wtedy na tym repo nie zależało i dałem sobie spokój.
Go to the top of the page
+Quote Post
scanner
post
Post #18





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




Polecam: http://tortoisesvn.tigris.org/


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
piotrooo89
post
Post #19


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




a ja na linuxa polecam Nautilusa który zmienił się na RabbitVCS http://code.google.com/p/nautilussvn/, używa go nasz handlowiec i działa bez zarzutu, ja osobiście wszystko w konsoli klepie więc nie mam problemu z jakimś GUI tongue.gif

Ten post edytował piotrooo89 27.11.2009, 08:57:45


--------------------
Go to the top of the page
+Quote Post
athabus
post
Post #20





Grupa: Zarejestrowani
Postów: 898
Pomógł: 48
Dołączył: 2.11.2005
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Tortoise odpada bo pracuję głównie pod linuxem.

Obecnie korzystam z rapidsvn i (od kilku dni) z nautilusa - używam ich głownie do przeglądania zmian etc.
Inne operacje wykonuję głównie z konsoli.
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 15:36