2009-06-30 16 views
14

Ogólnie rzecz biorąc, nasze poprawki/poprawki do wszelkich błędów obejmują zmiany w wielu plikach, a my zatwierdzimy wszystkie te pliki w jednym ujęciu.Lista wszystkich zarejestrowanych plików w jednym zatwierdzeniu cvs

W SVN, dla każdego zatwierdzenia (może obejmować wiele plików), zwiększy on numer wersji całego repozytorium o jeden. Możemy więc łatwo połączyć wszystkie pliki, które trafiły do ​​jednego zatwierdzenia.

Trudność z tym samym przypadkiem w CVS polega na tym, że będzie zwiększał numery wersji wszystkich plików indywidualnie. Powiedzmy, że zatwierdzenie obejmuje następujące pliki:

file1.c // rewizja przypisana jako część tego commit..1.5.10.2
file2.c // rewizja przypisana jako część tego commit..1.41.10.1

i komentarzem do tego zatwierdzenia jest "Pierwsza poprawka błędów".

Teraz jedynym sposobem na pobranie wszystkich plików w ramach tego zatwierdzenia jest przeszukiwanie wszystkich dzienników cvs dla komentarza "Pierwsza poprawka błędów" i mam nadzieję, że zwróci tylko dwie wersje plików wspomniane powyżej.

Podziel się swoimi poglądami na temat tego, czy w CVS jest jakikolwiek lepszy sposób na śledzenie wszystkich zarejestrowanych plików w pojedynczym zatwierdzeniu zamiast przekazywania na komentarz podany jako część zatwierdzenia.

+1

widzieli cvs co „Commit Identifier”, nie wiem, czy jest to żadna norma extenstion lub tak. I nie ma pojęcia, jak z nich korzystać dla czegokolwiek. –

Odpowiedz

11

Myślę, że CVSps może zrobić to, czego szukasz.

"CVSps to program do generowania informacji o" zestawie poprawek "z repozytorium CVS Zestaw poprawek w tym przypadku jest zdefiniowany jako zestaw zmian wprowadzonych do zbioru plików i wszystkie zatwierdzone w tym samym czasie (przy użyciu pojedynczego pliku Komenda "cvs commit" .Ta informacja jest cenna, aby zobaczyć duży obraz ewolucji projektu cvs, podczas gdy cvs śledzi informacje o wersji, często trudno jest zobaczyć, jakie zmiany zostały wprowadzone "atomowo" do repozytorium. "

To cvsps polega na kliencie cvs. Upewnij się, że masz odpowiednią wersję cvs, która obsługuje polecenie rlog (1.1.1)

+0

Interesujące. Zastanawiam się, z czego działa CVSps? Zastanawiam się, czy cvsps działa w różnych katalogach, ponieważ znacznik czasu może być inny? Z pewnością CVSzilla dodaje wiele bardzo fajnych funkcji - łączy się z CVSweb i Bugzillą, aby zapewnić naprawdę bogate środowisko. –

+0

Widzę, że cvsps jest dostępny za pośrednictwem standardowych repozytoriów Ubuntu. Zaznaczając tę ​​odpowiedź, dziękuję za nauczanie mnie o cvsps. :) –

+0

Wiem tylko o istnieniu mniej więcej, więc nie wiem zbyt wiele o tym, jak działa –

2

CVS nie ma wewnętrznej obsługi "transakcji".

Potrzebujesz do tego dodatkowego kleju. Na szczęście wszystko to zostało zrobione dla ciebie i jest dostępne w bardzo dobrym rozszerzeniu o nazwie "cvszilla".

strona Dom jest tutaj:

http://www.nyetwork.org/wiki/CVSZilla

to także w celu pomocy CVSweb, która jest doskonałym sposobem, aby przeglądać swoich modułów CVS poprzez GUI internetowej.

0

OK, właśnie zainstalowałem cvsps i uruchomiłem go z najwyższego poziomu. Oto przykładowy wynik ... jest to jeden z kilkuset zestawów poprawek na moim module. Zauważ, że rzeczywiście działa to w różnych drzewach katalogów.

--------------------- 
PatchSet 221   
Date: 2009/04/22 22:09:37 
Author: jlove-ext   
Branch: HEAD    
Tag: LCA_v1_0_0_0_v6  
Log:      
Bug: 45562    
Check the length of strings in messages. Namely: 

    * Logical server IDs cannot be more than 18 characters (forcing a 
    TCSE protocol requirement).          
    * Overall 'sid' (filter) search string length cannot be more than 
    500 (this is actually more than the technical maximum messages are 
    allowed, but is close).           

Alarm messages and are now not going to crash either as the alarm text 
is shortened if necessary by the LCA.         

Members: 
     catalogue/extractCmnAlarms.pl:1.2->1.3 
     programs/ldapControlAgent/LcaCommon.h:1.18->1.19 
     programs/ldapControlAgent/LcaUtils.cc:1.20->1.21 
     programs/ldapControlAgent/LcaUtils.h:1.6->1.7  
     programs/ldapControlAgent/LdapSession.cc:1.61->1.62 
     tests/cts-45562.txt:INITIAL->1.1 

Tak naprawdę może to zrobić, co chcesz. Niezły, Joakim. Jednak, jak wspomniano, CVSzilla robi znacznie więcej niż to:

  • Przeglądane przez internet repozytoria CVS (przez CVSweb).
  • Transakcje z możliwością przeglądania przez Internet.
  • Obsługuje transakcje między modułami.
  • Generuje polecenia CVS (używając "cvs-j"), aby scalić zestawy poprawek z innymi gałęziami.
  • Integracja z bugzillą (transakcje są automatycznie rejestrowane na podstawie błędów).

Jeśli chcesz tylko informacji o zestawie poprawek, przejdź do cvsps. Jeśli chcesz używać CVS w dużych projektach przez długi czas i myślisz o użyciu bugzilli do śledzenia błędów, to sugerowałbym zaglądanie do CVSzilla.

1

Być może Zadanie ANT CvsChangeLog jest kolejnym wyborem. Zobacz http://ant.apache.org/manual/Tasks/changelog.html. Podaje datę i godzinę komunikatu checkin. Możesz tworzyć ładne raporty za pomocą XSLT - spróbuj przykładu na dole strony podręcznika ANT.

Wiem, że jest za późno na odpowiedź, ale być może inni użytkownicy natknęli się na to tak, jak ja (szukając) i docenili integrację ANT.

Powiązane problemy