Pogledajte određenu poruku
Staro 24. 05. 2009.   #128
nn.nn
nobody
Expert
 
Avatar nn.nn
 
Datum učlanjenja: 19.04.2007
Poruke: 537
Hvala: 14
705 "Hvala" u 106 poruka
nn.nn će postati "faca" uskoronn.nn će postati "faca" uskoronn.nn će postati "faca" uskoronn.nn će postati "faca" uskoronn.nn će postati "faca" uskoronn.nn će postati "faca" uskoronn.nn će postati "faca" uskoro
Default

Citat:
Mah, o ovom sam se neki dan zanimao malo, pa nisam jos zakljucio sta je bolje. Recimo Zend Studio ima mogucnost da se poveze na FTP server i da editujes fajlove direkt na serveru (naravno da on to radi transparentno - skine fajl, edituje, uplaoduje nazad i to). To mi se ucinilo jako korisno ukoliko mjenjam aplikaciju koja je vec publikovana.

Ono sto nisam skontao je - sta je bolje? Taj FTP pristup ili SVN ili nesto trece? Zasto SVN, mislim u cemu su tu razlike (verzije i slicno? koliko je tesko namjestiti ga?, da li je potrebno instalacija software na serveru i na klijentu?).
Bolje je, valjda, ono što ti više odgovara. Nekad je najlakše menjati nešto direktno na serveru. Ipak, u svim ostalim slučajevima (~99% ?), verovatno je bolje da testiraš pre nego što postaviš to na server, pa onda takvo editovanje nije baš najbolji izbor.

Source code management i FTP su više kao babe i žabe, pa ne može baš da se poredi. O FTP-u može da se priča samo kao o jednom od načina za deployment.

Šta znam, softver se retko kad piše odjednom, uglavnom se radi u iteracijama. Npr, možeš da imaš nekakav kod za koji znaš da radi, a da koristiš nekakvu sporednu granu (branch) za razvoj, da ne bi brljao po kodu koji radi. Posle samo merdžuješ grane i ideš dalje. Možeš, recimo, da ustanoviš da je prethodna verzija bila bolja, pa poželiš da se vratiš. Ili hoćeš da vidiš dokle si stigao u odnosu na prethodnu verziju. Lakše je uraditi nekakav "git diff", nego da kopaš po kodu. Ima još sto (boljih) razloga i objašnjenja koje možeš i da izguglaš. Sad, možeš ti svaki čas da praviš verzije (snapshotove), pakuješ to u nekakav zip, tar.gz ili šta već, da radiš diff pešice. Ali, prosto rečeno, mnooogo je lakše voditi računa o verzijama kroz nekakav source code management sistem, nego da sad izmišljaš toplu vodu. Štaviše, to se sve geometrijskom progresijom komplikuje ako radiš timski.

Na kraju, ako je to ikakav argument, znam neke koji su sa pristupa "editovanje direktno na serveru" prešli na nekakav SCM. Ne znam nikog ko je probao, pa se pokajao.

Što se tiče izbora, toplo bih preporučio nekakav distributed SCM, ako ni zbog čeg drugog, onda zato što imaš kompletnu istoriju i lokalno. Ja nisam neki napredan korisnik, ali recimo od skoro koristim Git i čini mi se da je dosta brži u odnosu na Subversion, manje prostora zauzima, grananje (branch) bolje radi... uz ostale prednosti koje i ja tek otkrivam.

Ako radiš timski, mislim da je instalacija na serveru neizbežna. Naravno, ulogu servera može imati čak i nekakva tvoja lokalna mašina. Kako ćeš raditi deployment, to je već sasvim drugo pitanje. Možda nekakav ftp-sync programčić, ima toga po netu, a nije previše teško napraviti ni neki skript koji će to da radi. Ima sličnih tema i ovde na forumu.

Edit: Upravo čitam zanimljiv, a pristupačan tekst o konceptima Gita, pa ako još nekog zanima: The git parable.

Poslednja izmena od nn.nn : 24. 05. 2009. u 13:25.
nn.nn je offline   Odgovorite uz citat