Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: System kontroli wersji (Mercurial)
Forum PHP.pl > Inne > Komputery i oprogramowanie
grzesiek_g
Witam

Mam projekt systemu CMS, który jest z każdym zleceniem rozwijany, niestety kodu jest tak dużo, że trudno zapanować nad kontrolą wersji. Wcześniej jako systemu kontroli wersji używałem SVN, lecz było to w projekcie posiadającym jedną gałąź. Obecnie tych gałęzi docelowo ma być więcej. System kontroli wersji jaki wybrałem to Bazaar Mercurial, niestety brak doświadczenia z wielogałęziowymi projektami jest przeszkodą trudną do przejścia, dlatego proszę o wskazówki dotyczące organizacji folderów, przenoszenia kodu pomiędzy gałęziami najlepiej w systemie Bazaar Mercurial (ewentualnie ogólne).

Co chcę osiągnąć? Na przykład taką strukturę projektu:
-CMS
|__TRUNK - aktualna
|__TAGS
|__zlecenie_1
|__zlecenie_2 ...
|__BRANCHES
|__wersje niestabilne, inne gałęzie testowe


Programuje w Netbeans bezpośrednio na plikach znajdujących się w public_html lokalnego serwera (istnieje możliwość kopiowania plików z folderu projektu do innej lokalizacji), system to Linux. Brak wtyczki dla tego systemu kontroli wersji w Netbeans mnie nie przeraża.

// powód edycji: zmieniłem wybór systemu (głównie dzięki sugestii @ucho)
ucho
Przepraszam, że się wtrącę ale dlaczego nie Mercurial? Ma wsparcie NetBeans i wydawało mi się, że na placu boju pozostał już tylko Git i właśnie HG a pozostałe systemy rozproszone np Darcs schodzą już na margines.
grzesiek_g
Mogę spróbować i Merculical, głównie chodzi mi o wskazówki jak dobrze to rozplanować, czyli w/w struktura repozytorium, oddzielne podkatalogi w public_html...
Jabol
A czemu właściwie nie SVN? Widziałem zastosowania na wielu gałęziach dokłądnie w tej struktórze jaką podałeś. Poczytaj o narzędziu svnmerge. Tutaj więcej informacji.
grzesiek_g
Właśnie skończyłem konfigurację Mercurial + NetBeans + Trac. SVN nie ponieważ bardzo zaśmieca mi katalogi.

Zrobilem taką strukturę:
CMS
|__cms #główna gałąź
|__ zlecenie_1 #gałęzie wywodzące się z głównej
W Mercurial logicznie taką strukturę chcę zachowywać natomiast na dysku mam to w jednym katalogu CMS, wchodząc do katalogu:
Kod
hg init cms
cd cms
# tutaj wrzuciłem do katalogu CMS/cms/ pliki projeku
hg add
hg commit -m "Initial commit"
cd ..
hg clone cms frp

Po kolei:
1. inicjalizacja
2. do utworzonego przez Mercurial katalogu wrzuciłem pliki
3. dodanie plików przez hg add
4. Zatwierdzenie zmian - commit
5. powrót do katalogu wyżej
6. sklonowanie brancha

Jak na razie nie testowane przenoszenie plików pomiędzy gałęziami, integracja z Trac dzięki odpowiedniej wtyczce.
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.