CVS

Z UMP

(Różnice między wersjami)
d (przywrócenie z ::)
d (dodanie i usunięcie pliku - ze strony dla edytorów)
Linia 10: Linia 10:
cvs diff -r ''release'' [-r ''release-poprzedni''] ''plik'' > zmiany
cvs diff -r ''release'' [-r ''release-poprzedni''] ''plik'' > zmiany
patch ''plik'' zmiany
patch ''plik'' zmiany
-
Jak przywrócić plik do stanu z wczoraj? uwaga: Nie można cofnąć ostatniego (omyłkowego) commita.
+
Jak przywrócić plik do stanu z wczoraj?
cvs update -p -r 1.wersjaOK ''PLIK.zepsuty.txt'' > akuku.txt
cvs update -p -r 1.wersjaOK ''PLIK.zepsuty.txt'' > akuku.txt
Denerwuje mnie w windows ten wyskakujący notatnik (albo inny edytor w uniksie)
Denerwuje mnie w windows ten wyskakujący notatnik (albo inny edytor w uniksie)
cvs commit -m "Dodalem troche uliczek na Ochocie"
cvs commit -m "Dodalem troche uliczek na Ochocie"
-
== Znalezienie konkretnej zmiany ==
+
== Dodanie nowego pliku ==
 +
Jak dodać: stwórz pusty plik (o nazwie zgodnej z [[Znaczenie_plików_w_projekcie_UMP|konwencją]]), wydaj polecenia ''cvs add nazwapliku; cvs commit nazwapliku'' (plik binarny: dodaj ''-kb''). Wrzucaj zawartość, commituj.
 +
Jak usunąć: skasuj plik z dysku, wydaj polecenia ''cvs remove nazwapliku; cvs commit''.
 +
Użytkownik nie może kasować katalogów.
 +
 +
Zmiana nazwy: żeby nie stracić historii zmian w pliku, poproś na liście ump-devel@
 +
 +
== Znalezienie konkretnej zmiany ==
żeby znaleźć kto coś konkretnego zmienił, na przykład w Zielonej było Lilli Wenedy, a zostało Wenedy:
żeby znaleźć kto coś konkretnego zmienił, na przykład w Zielonej było Lilli Wenedy, a zostało Wenedy:
-
 
cvs annotate UMP-GorzowWlkp/src/ZIELONA_GORA.ulice.txt | grep Wenedy
cvs annotate UMP-GorzowWlkp/src/ZIELONA_GORA.ulice.txt | grep Wenedy
-
 
albo:
albo:
cvs annotate UMP-GorzowWlkp/src/ZIELONA_GORA.ulice.txt | less
cvs annotate UMP-GorzowWlkp/src/ZIELONA_GORA.ulice.txt | less
-
 
i oglądamy:
i oglądamy:
-
 
1.5 (UserX 03-Jan-08): [POLYLINE]
1.5 (UserX 03-Jan-08): [POLYLINE]
1.5 (UserX 03-Jan-08): Type=0x6
1.5 (UserX 03-Jan-08): Type=0x6
Linia 32: Linia 35:
1.5 (UserX 03-Jan-08): DirIndicator=1
1.5 (UserX 03-Jan-08): DirIndicator=1
1.60 (UserX 06-Nov-09): Data0=(51.92639,15.51941),(51.92633,15.5...
1.60 (UserX 06-Nov-09): Data0=(51.92639,15.51941),(51.92633,15.5...
-
 
więc wiadomo dzięki temu, które wersje sobie dokładniej obejrzeć.
więc wiadomo dzięki temu, które wersje sobie dokładniej obejrzeć.
Linia 57: Linia 59:
znajdzie poprawki licząc od wczoraj, żeby nie szukać konkretnych numerów wersji.
znajdzie poprawki licząc od wczoraj, żeby nie szukać konkretnych numerów wersji.
-
 

Wersja z dnia 09:33, 29 paź 2013

Spis treści

CVS - przydatne komendy

Podstawy

Sprawdzenie kto ostatnio działał

cvs history -cap UMP-Siedlce

Kto co dłubał w pliku

cvs log plik | more

Co się zmieniło w pliku w ciągu ostatnich dwóch godzin

cvs diff -D "-2 hours" plik

Co sie zmieniło w pliku od ostatniego release, cofnij poprawki zrobione miesiąc temu

cvs diff -r release [-r release-poprzedni] plik > zmiany
patch plik zmiany

Jak przywrócić plik do stanu z wczoraj?

cvs update -p -r 1.wersjaOK PLIK.zepsuty.txt > akuku.txt

Denerwuje mnie w windows ten wyskakujący notatnik (albo inny edytor w uniksie)

cvs commit -m "Dodalem troche uliczek na Ochocie"

Dodanie nowego pliku

Jak dodać: stwórz pusty plik (o nazwie zgodnej z konwencją), wydaj polecenia cvs add nazwapliku; cvs commit nazwapliku (plik binarny: dodaj -kb). Wrzucaj zawartość, commituj.

Jak usunąć: skasuj plik z dysku, wydaj polecenia cvs remove nazwapliku; cvs commit. Użytkownik nie może kasować katalogów.

Zmiana nazwy: żeby nie stracić historii zmian w pliku, poproś na liście ump-devel@

Znalezienie konkretnej zmiany

żeby znaleźć kto coś konkretnego zmienił, na przykład w Zielonej było Lilli Wenedy, a zostało Wenedy:

       cvs annotate UMP-GorzowWlkp/src/ZIELONA_GORA.ulice.txt | grep Wenedy

albo:

       cvs annotate UMP-GorzowWlkp/src/ZIELONA_GORA.ulice.txt | less

i oglądamy:

1.5          (UserX  03-Jan-08): [POLYLINE]
1.5          (UserX  03-Jan-08): Type=0x6
1.58         (UserX  05-Nov-09): Label=Wenedy
1.5          (UserX  03-Jan-08): EndLevel=1
1.5          (UserX  03-Jan-08): DirIndicator=1
1.60         (UserX  06-Nov-09): Data0=(51.92639,15.51941),(51.92633,15.5...

więc wiadomo dzięki temu, które wersje sobie dokładniej obejrzeć.

ALE.... na przykład annotate WROCLAW.ulice.txt pokazuje tylko zmiany od 1.302 do 1.610, a wcześniejszych już nie. Nie wiem czy to błąd konfiguracji CVS-a, czy taki ficzer. Można obejrzeć starsze robiąc na przykład:

       cvs annotate -D "1 year ago" WROCLAW.ulice.txt | less

wtedy można np. złapać 1.1-1.186


Wyciągnięcie źródeł z konkretnej daty

cvs checkout -D "data"

wyciągnie źródła z zadanej daty. Najlepiej zrobić to w jakimś osobnym katalogu, czyli:

       mkdir /tmp/aaa
       cd /tmp/aaa
       cvs checkout -D "7 Dec 2009" UMP-JeleniaGora

analogicznie -D w innych przypadkach:

       cvs diff -D yesterday PLIK

znajdzie poprawki licząc od wczoraj, żeby nie szukać konkretnych numerów wersji.


Historia zmian

Komenda 'cvs history':

       cvs history -l          - historia ostatnich swoich zmian
       cvs history -l -a       - wszystkich userów

Przy czym na umpowym CVSie coś dziwnie to działa (np. pokazuje rzeczy z 2007/2008, ale także jakieś pojedyncze z 10.2009) - być może historia nie jest w pełni zbierana...


Wylistowanie zawartości katalogu, także z "martwymi" plikami

Komendy 'cvs ls', a także 'rls' i 'dir'

Najlepiej być we właściwym katalogu, bo "'ls'" listuje wg lokalnie trzymanego CVS/Entries.

cvs ls -l -d UMP-JeleniaGora/src
---- 2009-12-04 14:12:18 +0100 1.14            BOLESLAWIEC.ulice.txt
---- 2009-07-21 20:10:25 +0200 1.22            CHOJNOW.ulice.txt
---- 2009-12-08 13:27:51 +0100 1.9             CIEPLICE.ulice.txt
---- 2009-12-08 13:27:51 +0100 1.79            GLOGOW.drogi.txt
---- 2008-07-04 13:52:20 +0200 1.11            GLOGOW.granice.txt
---- 2009-12-09 21:24:50 +0100 1.5        dead GLOGOW.inne.txt
---- 2009-12-09 21:24:50 +0100 1.4        dead GLOGOW.kolej.txt
---- 2008-04-27 18:27:28 +0200 1.3             GLOGOW.miasta.txt

czyli także "martwe" wersje (pliki skasowane) oraz numerki bieżących


Przywrócenie poprzedniej wersji

(dla zaawansowanych)

Z każdej maszyny klienckiej:

     cvs up -j wersja_aktualna -j wersja_poprzednia inne.drogi.txt

przywraca wersję poprzednią, którą można (poprawić i) wysłać - ale to zostawia wpis w historii w stylu: wersja A dodaje 35 linii, wersja A+n kasuje te same 35 linii.

Z poziomu serwera:

     cvs -d /home/cvsroot admin -o1.2:1.3 PLIK.zczymś.txt

zostaną bez śladów usunięte wersje 2 i 3, nawet jeśli 3 jest ostatnią. Jeśli 1.2 była popsuta, w 1.3 były jakieś inne zmiany, i 1.4 to odkręcenie 1.2, to zapis wersji powinien być

-o1.2::1.4