Polecenia | Komentarze |
---|---|
mkdir /tmp/cvs cd /tmp/cvs export CVSROOT=`pwd` export EDITOR=vim cvs init |
tworzymy katalog, w którym zainstalujemy repozytorium ustawiamy zmienne środowiskowe CVSROOT oraz EDITOR (edytor używany przy komentowaniu zmian) i inicjujemy cvs-a |
mkdir /tmp/zpp cd /tmp/zpp touch plik1 cvs import zpp main start cd .. rm -rf /tmp/zpp |
Tworzymy przykładowy zbiór plików na których będziemy pracować. Następnie importujemy go do cvs'a (czyli zakładamy w nim projekt o nazwie zpp, gałęzi main i początkowym punkcie start). Następnie usuwamy pliki, które były bazą projektu (możemy to zrobić, bo mamy je już w repozytorium). |
cd /tmp cvs checkout zpp |
Tworzymy nowy sandbox przez polecenie checkout - w /tmp pojawia się katalog zpp z plikami z repozytorium oraz katalogiem CVS, którego nie należy ruszać, bo w nim są pliki pomocnicze cvsa. |
echo "zpp" >>/tmp/zpp/plik1 cvs status cvs commit | Zmieniamy plik1, sprawdzamy co wyrzuci status (zwraca Locally changed dla plik1), po czym zatwierdzamy zmiany w repozytorium. |
echo "zad5" >/tmp/zpp/plik2 cvs status /tmp/zpp/plik2 cvs add /tmp/zpp/plik2 cvs status /tmp/zpp/plik2 cvs commit |
Tworzymy nowy plik Status zwraca że plik jest "Unknown" Dodajemy plik do repozytorium Teraz status to "Locally added" Zatwierdzamy zmiany. |
cd /tmp/zpp mv plik2 plik3 cvs remove plik2 cvs add plik3 cvs commit | Zmiana nazwy pliku - dokonuje się ją sztucznie przez usunięcie starego i dodanie nowego pliku do repozytorium. Uwaga! W ten sposób traci się historię zmian pliku! |
cd /tmp/zpp cvs tag wersja1 |
Właśnie nazwaliśmy te 2 pliki tagiem wersja1. Od tej pory możemy się odwoływać do tych konkretnych wersji tych plików poprzez wywołanie poleceń cvs z parametrem -r wersja1 |
cvs rtag -b -r wersja1 galaz1 zpp cvs update -r galaz1 echo "bla" >>plik1 cvs commit | Stworzylismy nową gałąź projektu, o nazwie galaz1. Od tej pory zmiany nie będą dotyczyły głównej gałęzi projektu. Możemy się o tym przekonać modyfikując plik1 - wersja z głównej gałęzi po commicie pozostaje nienaruszona. |
mkdir /tmp/join cd /tmp/join cvs checkout -r wersja1 zpp cd zpp cvs update -j galaz1 cvs update -A cvs commit | Przykład połączenia gałęzi z potokiem głównym projektu. Robimy checkout wersji1 do nowego katalogu, a następnie wykonujemy update -j (join) z gałęzią1. Za pomocą update -A pozbywamy się sticky tagów (patrz manual), a następnie zatwierdzamy zmiany. |