CVS - z jakich opcji korzystacie najczęściej?

0

Witam.

Jak pewnie część osób pamięta, już dawno z paroma osobami z 4p przymierzałem się do wprowadzenia konkurenta dla CVS opierającego się na serwerze HTTP dostępnym dla każdego "śmiertelnika" - PHP, MySQL i to wszystko, czego potrzeba.

Ostatnimi czasy zabrałem się za realizację tego pomysłu (CubeCVS), póki co powstaje serwer z interfejsem http://epsisoft.bee.pl.1.2 dostępna jest na http://epsisoft.bee.pl). W dalszej perspektywie powstanie klient usprawniający pracę, być może zgodny ze standardem CVS albo SVN pozwalając na wykorzystanie GUI tych systemów. W chwili obecnej pracuję nad instalatorem i panelem administracyjnym dla serwera. Ich ukończenie będzie równoważne wydaniu wersji 0.2 serwera CubeCVS.

Stąd moje pytanie:
Z jakich funkcji CVS korzystacie najczęściej? Które są najistotniejsze? Które należałoby wprowadzić w pierwszej kolejności, by CubeCVS stał się realnie użytecznym narzędziem? A może w systemach CVS/SVN brakuje czegoś, z czego byście chętnie skorzystali, a nie macie takiej możliwości?

Za wszelkie odpowiedzi, uwagi i sugestie z góry dziękuję i postaram się wykorzystać je jak najefektowniej w rozwoju CubeCVS.

P.S. Aktualnie CubeCVS pozwala na takie proste operacje jak:

  • Przeglądanie repozytoriów
  • Ściąganie plików
  • Wgrywanie/modyfikację plików
  • Tworzenie/zmianę nazwy/usuwanie katalogów
  • Ściąganie całości modułu w formie archiwum tar (ew. tar.gz, tar.bz2, zależnie od możliwości serwera)
0

Wiem, ze to moze nie za bardzo o to pytasz.. ale moze przyda sie na pozniej [bo opowiem o kliencie a nie o samym CVS].

Korzystam z klienta WinCVS [TortoiseCVS mi nie podchodzi] i tam baaaardzo uzyteczne sa 2 funkcje:

  • plaska lista plikow z aktualnego katalogu i wszystkich podkatalogow - dzieki temu nie trzeba szukac zmienionych plikow w folderach
  • filerek 'pokaz tylko zmodyfikowane'
    to takie 2 rzeczy, bez ktorych byloby o wiele mniej milo pracowac z plikami

--
Teraz w pracy zaczynam zabawe z SVN to poznam drugi system bo nie korzystalem z niego jeszcze. Moze tez cos mi wpadnie do glowy :)

0

Często korzystam z tego ficzera, że ciągi w stylu $Author$ (http://www.network-theory.co.uk/docs/cvsmanual/cvs_99.html) są automatycznie podstawiane. Korzystam też z możliwości, by po zdefiniowaniu jakiegoś pliku, powiedzmy (CVSROOT/config), móc posługiwać się własnymi słowami kluczowymi, za które byłby podstawiany stały, samemu zdefiniowany ciąg (a jeśli keyword użytkownika pokrywa się ze zdefiniowanym standardowo - przysłania go).

0

Głupie pytanie. Add, Delete, Commit i Update, bez nich żyć się nie da. Zamiany ciągów (głównie $Id$ i $Revision$) też używam.

0

@Marooned:
Jeśli wszystko pójdzie zgodnie z planem, to używając CubeCVS będzie można korzystać z WinCVS jako GUI. Jeśli wszystko pójdzie zgodnie z planem, tj. jeśli znajdę dokładny opis tego, co ta aplikacja wyprawia. Bo niestety okazuje się, że przekazuje do command-line cvs parametry, o których w pomocy do powyższego nic nie ma :).
Jeśli się nie uda i GUI będziemy pisać sami, na pewno weźmiemy to pod uwagę.

@Szczawik:
Rozumiem, że jest to opcja klienta (fakt, do interfejsu WWW da się to wstawić i to chyba dość prosto, będę się jeszcze musiał przyjrzeć tylko szczegółom dokumentacji tego), która jest standardem w CVS. W takim razie dzięki za sugestię, pojawi się na pewno (bo zastosowań jest tutaj ogrom).

//Added:
@Ktos "Add, Delete, Commit i Update, bez nich żyć się nie da.", to już jest. Pytam, co dalej ;).

0

CVS jako opensource z zalozenia sux :-/ patykiem tego nie dotkne wiec nie wiem jak wyglada i czy te opcje juz tam sa :-P

w Borland StarTeam jest swietny motyw 'responsibilities' (kto w tej chwili pracuje nad dana czescia projektu) i bodajze 'state' (open, closed, rejected itd). do tego 'change request' gdzie kazdy wpisuje co trzeba zrobic, poprawic, usunac itp. zreszta... spojrzyj na StarTeama i sam zobacz...

maksymalnie wypasna jest mozliwosc tworzenia wlasnego interfejsu klienta. w zaleznosci od wielkosci projektu i obowiazujacych w firmie zasad mozna na poczatku poustawiac wybrane kontrolki po swojemu i dalej uzywac tylko przystosowanej wersji.

0
  1. Dlaczego OpenSource'owy CVS "sux"? Nie pojmuję Twojego podejścia do problemu.
  2. Czy te "responsibilities" i "state" przypisywane są do poszczególnych plików, czy jest to jakoś inaczej zorganizowane?
  3. Klienta na razie sobie darujmy - tak jak wspomniałem, jeśli wszystko pójdzie zgodnie z planem, to każdy będzie mógł używać Swojego Ulubionego IDE Dla CVS (TM). Chyba, że wyjdzie na jaw, że jakaś funkcja, którą postanowimy wprowadzić okaże się niewykonalna, jeśli oprzemy się o standardy CVS.
0

Dla mnie najbardziej podchodzi svn, więc na jego podstawie:
svn co, ci, update, status, rm, add, mv (to czego mi w cvs najbardziej brakuje), cp (w cvs jest odpowiednik, ale filozofia svn bardziej do mnie przemawia), revert (fajna opcja przywracania), diff
svn dump (kopie zapasowe), deltify (kompresuje archiwum)
svnlook tree (coś na styl płaskiego widoku o którym pisze Marooned)

0
Adam.Pilorz napisał(a)
  1. Dlaczego OpenSource'owy CVS "sux"? Nie pojmuję Twojego podejścia do problemu.

bo wszystko co opensource sux! :-P jedynie firefox daje rade ;-)

Adam.Pilorz napisał(a)
  1. Czy te "responsibilities" i "state" przypisywane są do poszczególnych plików, czy jest to jakoś inaczej zorganizowane?

do changerequesta. ktos dodaje do bazy powiadomienie o bledzie, nowej opcji lub propozycji, zaznacza kto jest odpowiedzialny i w okienku edycji jest duzo roznych Editow i ListBoxow do opisow, zaznaczania pliku/plikow, opisu, okreslania priorytetu i czasu wykonania i masa innych. i w glownym oknie sie sortuje ewentualnie.

szczerze polecam obejrzenie StarTeama, jesli nie na zywo to chociaz prezentacji i opisow ze stron Borlanda. Borland sie postaral naprawde ;-) chyba sie nie obraza jak sie troche pozgapia :>

0

To o czym pisze vixen to jest już system do zarządzania zmianami w projekcie oparty na systemie wersjonowania plików.
Np. Trac (zbudowany na svn)

Zresztą bardzo fajne narzędzie :)

0
vixen03 napisał(a)

bo wszystko co opensource sux! :-P jedynie firefox daje rade ;-)

Ehe, jasne. A np. Linux, Qt, PHP też sux?! :|

0
Dryobates napisał(a)

svn co, ci, update, status, rm, add, mv (to czego mi w cvs najbardziej brakuje), cp (w cvs jest odpowiednik, ale filozofia svn bardziej do mnie przemawia), revert (fajna opcja przywracania), diff
svn dump (kopie zapasowe), deltify (kompresuje archiwum)
svnlook tree (coś na styl płaskiego widoku o którym pisze Marooned)

Hmm... A można troszkę szerzej? O ile update, rm, add, mv, cp, revert i diff się mogę domyśleć, do czego służą, o tyle z co, ci, status, dump, deltify już może być gorzej, bez gruntownego wypróbowania (a SVN'a nie posiadam). Na jakiej zasadzie działają dump i deltify mnie głównie interesuje - tj. czy (tak jak się domyślam po nazwie) dump robi kopię bezpieczeństwa wszystkiego (struktura, wszystkie rewizje itp.), a deltify robi swojego rodzaju snapshota, czyli aktualną wersję tego, co jest w repozytorium (najnowsze rewizje)?

vixen03 napisał(a)

bo wszystko co opensource sux! :-P jedynie firefox daje rade ;-)

No dobra, czyli nie mamy o czym rozmawiać w tej kwestii. Jakoś dziwnie większość narzędzi używanych przez specjalistów od komputerów to OpenSource. Poczynając od systemu operacyjnego (kto widział speca w tej dziedzinie korzystającego z Windowsa? Wszyscy lecą na Linuksach, albo innych *nixach, jak mają taką możliwość), kończąc na edytorach tekstu.

vixen03 napisał(a)

do changerequesta. ktos dodaje do bazy powiadomienie o bledzie, nowej opcji lub propozycji, zaznacza kto jest odpowiedzialny i w okienku edycji jest duzo roznych Editow i ListBoxow do opisow, zaznaczania pliku/plikow, opisu, okreslania priorytetu i czasu wykonania i masa innych. i w glownym oknie sie sortuje ewentualnie.

No to już mi zalatuje bugtrackiem, ewentualnie powiązanym z CVS. Być może w przyszłości się pojawi, ale to dalszy plan (stworzenie pakietu, w skład którego będą wchodziły między innymi CVS i bugtracker właśnie).

//@vixen03 poniżej:
Nomenklatura nomenklaturą, może kiedyś Cube też będzie to miało :)

Bitwy, wojny, żadna różnica. Widać, że nie masz dużego pojęcia o świecie OpenSource, ale to temat na dłuższą dyskusję i nie ma na nią miejsca w tym temacie.

0
Dryobates napisał(a)

To o czym pisze vixen to jest już system do zarządzania zmianami w projekcie oparty na systemie wersjonowania plików.

jak dla mnie to jest to system zarzadzania zmianami ORAZ wersjonowania z dolaczeniem zarzadzania odpowiedzialnoscia co jest IMO rewolucja w dziedzinie. ale mniejsza o nomeklature.

Coldpeer napisał(a)

Ehe, jasne. A np. Linux, Qt, PHP też sux?! :|

przede wszystkim Linux ;-) czymkolwiek jest Qt tez. PHP jest jak demokracja: olbrzymie zlo konieczne [diabel] na dzien dzisiejszy fakt wyzszosci zastosowan komercyjnych nad otwartymi jest niezaprzeczalny i bezdyskusyjny. nie chodzi tylko o jakosc samego produkt ale takze jego 'otoczke': helpdesk, gwarancja itd.

w tej 'swietej wojnie' opensource wygrywa oczywiscie bitwy ale poki co komercja wygrywa wojne ;-P

//DOPISANE
w czasie gdy pisalem posta pojawil sie post Adama.Pilorza wiec teraz odpowiadam jemu ;-)

Adam.Pilorz napisał(a)
vixen03 napisał(a)

bo wszystko co opensource sux! :-P jedynie firefox daje rade ;-)
No dobra, czyli nie mamy o czym rozmawiać w tej kwestii. Jakoś dziwnie większość narzędzi używanych przez specjalistów od komputerów to OpenSource. Poczynając od systemu operacyjnego (kto widział speca w tej dziedzinie korzystającego z Windowsa? Wszyscy lecą na Linuksach, albo innych *nixach, jak mają taką możliwość), kończąc na edytorach tekstu.

zapytam jak Jim Carry w jednym z filmow: skad bierzesz swoje statystyki?

Adam.Pilorz napisał(a)
vixen03 napisał(a)

do changerequesta. ktos dodaje do bazy powiadomienie o bledzie, nowej opcji lub propozycji, zaznacza kto jest odpowiedzialny i w okienku edycji jest duzo roznych Editow i ListBoxow do opisow, zaznaczania pliku/plikow, opisu, okreslania priorytetu i czasu wykonania i masa innych. i w glownym oknie sie sortuje ewentualnie.

No to już mi zalatuje bugtrackiem, ewentualnie powiązanym z CVS. Być może w przyszłości się pojawi, ale to dalszy plan (stworzenie pakietu, w skład którego będą wchodziły między innymi CVS i bugtracker właśnie).
</quote>

no wlasnie o to chodzi, ze bugtraq jest wyspecjalizowanym kawalkiem. a gdzie wepchnac pomysly pojawiajace sie w trakcie kodowania, co ze zmianami, ktore nie musza byc bledami a jedynie kosmetycznymi poprawkami?

0

Skąd biorę swoje statystyki? Ot chociażby mam w rodzinie parę osób, które pracują w tej branży. Programiści, administratorzy sieci. Wszyscy pracują na Linuksach. Oczywiście w branży programistycznej jest trochę mniej to widoczne, bo ZU korzystają z Windowsów w ogromnej większości, więc ci programiści, którzy programują dla ZU najczęściej też muszą pod Windowsem pracować. Albo przynajmniej część swojej pracy pod nim wykonywać.

Bugtrack nie musi służyć tylko do zgłaszania błędów jakotakich. Jest coś takiego jak typ zgłoszenia i tam może się znaleźć "Feature request" albo tym podobne. Po prostu nonsensem byłoby pisać osobne systemy dla błędów, osobne dla pomysłów na nowe funkcjonalności, jeszcze inne dla kosmetycznych poprawek do wprowadzenia, gdzie każdy z nich działałby tak samo. Dlatego stworzono jeden system, w którym sa typy zgłoszeń, priorytety itp., który odpowiada za to wszystko razem wzięte i który zwany jest bugtrackiem.

0
Adam.Pilorz napisał(a)

Hmm... A można troszkę szerzej? O ile update, rm, add, mv, cp, revert i diff się mogę domyśleć, do czego służą, o tyle z co, ci, status, dump, deltify już może być gorzej, bez gruntownego wypróbowania (a SVN'a nie posiadam). Na jakiej zasadzie działają dump i deltify mnie głównie interesuje - tj. czy (tak jak się domyślam po nazwie) dump robi kopię bezpieczeństwa wszystkiego (struktura, wszystkie rewizje itp.), a deltify robi swojego rodzaju snapshota, czyli aktualną wersję tego, co jest w repozytorium (najnowsze rewizje)?

Ok, już tłumaczę:
co = checkout, więc chyba nie ma co tłumaczyć, w cvs też jest :)
ci = commit, więc też nie trzeba (przyzwyczaiłem się do stosowania skrótowych nazw, czy to svn czy cvs)
status - to jest coś na kształt 'cvs -n update'. Czyli to co bardzo często używa się do sprawdzenia, czy coś nie zostało zmienione na serwerze. Z tym, że cvs podaje to imho w mało przystępnej formie (zresztą podstawową funkcją update wcale nie jest sprawdzanie, czy coś się zmieniło na serwerze).
dump - robi kopię bezpieczeństwa (można potem przez load załadować) całości, konkretnej wersji lub zakresu wersji (od - do)
deltify - wybiera się katalog, który chcemy skompresować. Wybieramy wersje pomiędzy którymi chcemy stracić historię zmian. Oprogramowanie tworzy różnicę pomiędzy tymi wersjami i zamienia te wszystkie zapamiętane wersje pośrednie jedną nowo utworzoną.

0
Adam.Pilorz napisał(a)

Dlatego stworzono jeden system, w którym sa typy zgłoszeń, priorytety itp., który odpowiada za to wszystko razem wzięte i który zwany jest bugtrackiem.

no to mowimy o tym samym tylko inaczej nazywamy :-)

0

Mam bany porozdawac? Nie robcie smietnika z tego watku o to, czy OS jest git czy be. Kazdy nastepny post bedzie usuwany a autor odpowiednio potraktowany [nadal nie mamy warnow wiec ban :P].

1 użytkowników online, w tym zalogowanych: 0, gości: 1