Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: SVN poczatki pracy - jak zapisac i aktualizowac projekt?
Forum PHP.pl > Forum > Kontrola i zarządzanie projektami
evane
Witam

Dopiero zaczynam nauke SVN, przeczytalam kilka poradnikow z neta, ale juz mi sie pomieszalo i nie bardzo wiem w koncu co mam po kolei zrobic. Uzywam debiana.

Moze napisze co juz mam:

- lokalne repozytorium http://.../proj1/trunk

- na dysku swoj katalog z projektem .../proj1

Postępują według instrukcji z jakiejs strony zrobilam: (na poczatku trunk byl pusty i chcialam skopiowac projekt do /trunk)

- svn co http://.../proj1/trunk .
- svn add *
- svn import . http://...proj1/trunk

Czy powyższe instrukcje sa poprawne i czy musze jeszcze zrobic commit zeby zatwierdzic zmiany do /trunk?

Nastepnie dalej chce dokonywac zmian w projekcie i regularnie zapisywac do repozytorium, czy po wykonaniu tych komend moge dalej zapisywac zmiany na dysku (czy musze znowu sciagac z repo i dopiero zmieniac) i pozniej zeby zapisac zmiany jakie wpisac komendy?

Wiem ze pytanie laickie ale juz nie bardzo wiem co zrobic.

Prosilabym o jakas podpowiedz.
uupah5
pracowałem długi czas na subversion i mogę Ci sprzedać free;) dobrą radę. wywal svn do kosza i zacznij się uczyć git.
dobra informacja jest taka, że część zdobytej już wiedzy nadal Ci się przyda.
tutorial, imo jeden z lepszych po polsku: http://progit.org/book/pl/index.html
evane
Dzieki smile.gif Napewno zajrze do Gita w przyszlosci, ale teraz musze nauczyc się SVN.
uupah5
Cytat(evane @ 29.03.2012, 23:33:48 ) *
Dzieki smile.gif Napewno zajrze do Gita w przyszlosci, ale teraz musze nauczyc się SVN.

możesz używać svn poprzez gita:
http://schacon.github.com/git/git-svn.html

a co do Twoich pierwotnych pytań, to:
tak, commit jest konieczny - wysyła lokalne zmiany do repo.

ogólnie, jak już masz svn zainstalowane (klienta) i jakieś działające repo (np na zdalnym serwerze) to typowy workflow jest taki:
svn co http://adres_repo (tylko raz, inicjalizuje lokalną kopię repozytorium)

svn update - aktualizacja lokalnego repo do HEAD (ostatnia rewizja w repo)
svn add file - dodanie file do repo
svn commit - wysłanie zmian na serwer
evane
Cytat(uupah5 @ 30.03.2012, 00:14:02 ) *
ogólnie, jak już masz svn zainstalowane (klienta) i jakieś działające repo (np na zdalnym serwerze) to typowy workflow jest taki:
svn co http://adres_repo (tylko raz, inicjalizuje lokalną kopię repozytorium)

svn update - aktualizacja lokalnego repo do HEAD (ostatnia rewizja w repo)
svn add file - dodanie file do repo
svn commit - wysłanie zmian na serwer


Dzieki za odpowiedz smile.gif

tzn import nie jest konieczny jak zrobilam u siebie?

Rozumiem ze kazde zapisanie zmian nawet takie robione co godzinke to jest update, add, i commit?

Gdybym np chciala dzialac w katalogu repo http://.../tags/wer1 - zrobic jakas czesc projektu i pozniej po skonczeniu zaktualizowac z .../trunk
to musze zrobic tak? :

- svn copy http://../trunk http://../tags/wer1
- svn co http://../tags/wer1
- i rozumiem ze teraz komendy update, add i commit beda się odnosic do http://../tags/wer1
- a potem zeby skopiowac ..tags/wer1 do ../trunk co ma zrobic->>to jest 1 osobowy projekt wiec teraz nie bede robila mergowania (czy uzyć "switch" miedzy tymi katalogami i jeszcze jakiejs komendy zeby bylo ok :/ - czy zupelnie inaczej to zrobic?questionmark.gif
uupah5
Cytat(evane)
Dzieki za odpowiedz smile.gif

a proszę bardzo, masz też przycisk "pomógł";)
Cytat(evane)
tzn import nie jest konieczny jak zrobilam u siebie?

svn help import
import: Commit an unversioned file or tree into the repository.
co oznacza, że robiłeś commit, tylko niejawnie;)
Cytat(evane)
Rozumiem ze kazde zapisanie zmian nawet takie robione co godzinke to jest update, add, i commit?

to Ty decydujesz kiedy wysłać stan prac do repo. raczej nie co godzinę, a wtedy kiedy zmiany są zamknięte
aczkolwiek dla celów backupowych, można robić commity stanów pośrednich
Cytat(evane)
Gdybym np chciala dzialac w katalogu repo http://.../tags/wer1 - zrobic jakas czesc projektu i pozniej po skonczeniu zaktualizowac z .../trunk
to musze zrobic tak? :

nie, do tego służą branch'e (gałęzie)
np http://wrzasq.pl/blog/44.html
Cytat(evane)
to jest 1 osobowy projekt wiec teraz nie bede robila mergowania

poczytaj o gałęziach i mergowaniu, to że projekt jest 1os nie oznacza, że to się nie przyda, przeciwnie.
Orzeszekk
SVN to dosc tępe narzędzie, ja korzystam z SVN w visual studio i potrafi np. popsuc plik solucji w visual studio, albo model bazy danych sklejając go na pałe z dwoch plików nie pytajac sie mnie o zgodę.
Twist
Cytat(Orzeszekk @ 30.03.2012, 11:52:37 ) *
SVN to dosc tępe narzędzie, ja korzystam z SVN w visual studio i potrafi np. popsuc plik solucji w visual studio, albo model bazy danych sklejając go na pałe z dwoch plików nie pytajac sie mnie o zgodę.


Nic takiego nigdy nie zauwazylem, znajomi z pracy - rowniez nie.
Adi32
Witajcie.

Muszę się szybko nauczyć Subversion (wiem, że polecany jest GIT)

Nie wiem na ten temat dosłownie nic pomimo przeczytaniu kilku stron i przeklinaniu jakiegoś "klienta".

1. Co muszę zrobić aby korzystać z SVN? Tzn. co coś na serwerze muszę ruszać? Będę się uczył na localhoście na WebServ.
2. Rozumiem, że potrzeba jakiegoś klienta - co byście polecili?
3. Co to jest repo? Brench? Czym to się różni? kiedy należy tego używać i co to robi?

Dostałem takie małe wytyczne:

Kod
Każdy projekt w svn powinien składać się z trzech folderów.
    Tags        – powinien zawierać stabilne starsze wersje systemu
    Branches  – zawiera odgałęzienia rozwojowe,
    Trunk       – główna gałąź, wersja stabilna systemu


Zdaje sobie sprawę, że proszę o "gotowca" i zapewne mógłbym się tego wszystkiego dowiedzieć przeszukując internet ale bardzo pili mnie czas.
Pozdrawiam.
Janusz1200
SVN to bardzo dobre narzędzie, moim zdaniem, oczywiście.

Popularny klient:
http://tortoisesvn.net/

Najlepiej założyć repozytorium na jakimś darmowym hoście, ja korzystam z tego:
https://www.assembla.com
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.