| Line 67: | Line 67: | ||
**'''kdelibs''' - Librăriile KDE esenţiale, folosite de către toate aplicaţiile KDE | **'''kdelibs''' - Librăriile KDE esenţiale, folosite de către toate aplicaţiile KDE | ||
**'''kdebase''' - Aplicaţii KDE esenţiale, cum ar fi Centrul de Control KDE, panoul Kicker şi navigatorul Konqueror | **'''kdebase''' - Aplicaţii KDE esenţiale, cum ar fi Centrul de Control KDE, panoul Kicker şi navigatorul Konqueror | ||
| − | **'''kdeaccessibility''' - | + | **'''kdeaccessibility''' - Librăriile KDE pentru accesibilitate |
| − | **'''kdeadmin''' - | + | **'''kdeadmin''' - Aplicaţii de administrare a KDE |
| − | **'''kdeartwork''' - Imagini, teme desktop, sunete | + | **'''kdeartwork''' - Imagini, teme desktop, sunete şi alte fişiere multimedia |
| − | **'''kdebindings''' - | + | **'''kdebindings''' - Interfeţe pentru limbaje de programare altele decât C++ |
| − | **'''kdeedu''' - | + | **'''kdeedu''' - Aplicaţii educaţionale |
**'''kdegames''' - Jocuri | **'''kdegames''' - Jocuri | ||
| − | **'''kdegraphics''' - | + | **'''kdegraphics''' - Aplicaţii pentru grafică |
| − | **'''kdemultimedia''' - | + | **'''kdemultimedia''' - Aplicaţii pentru multimedia |
| − | **'''kdenetwork''' - | + | **'''kdenetwork''' - Aplicaţii pentru reţea |
| − | **'''kdepim''' - | + | **'''kdepim''' - Aplicaţii pentru Gestionarea Informaţilor Personale |
| − | **'''kdepimlibs''' - | + | **'''kdepimlibs''' - Librării folosite de catre aplicaţiile pentru Gestionarea Informaţilor Personale |
**'''kdesdk''' - SDK pentru KDE | **'''kdesdk''' - SDK pentru KDE | ||
| − | **'''kdetoys''' - | + | **'''kdetoys''' - Aplicaţii de amuzament (nu se încadrează în categoria jocurilor) |
| − | **'''kdeutils''' - | + | **'''kdeutils''' - Aplicaţii de uz general |
| − | **'''kdevelop''' - Mediul integrat de dezvoltare a | + | **'''kdevelop''' - Mediul integrat de dezvoltare a aplicaţiilor, KDevelop |
| − | **'''kdevplatform''' - Platforma de | + | **'''kdevplatform''' - Platforma de bază a KDevelop |
| − | **'''kdewebdev''' - Utilitare KDE pentru dezvoltarea | + | **'''kdewebdev''' - Utilitare KDE pentru dezvoltarea aplicaţiilor Web |
*<tt>kde-common</tt> | *<tt>kde-common</tt> | ||
| − | : | + | :Catalogul admin/ comun celor trei cataloage principale |
*<tt>bugs/</tt> | *<tt>bugs/</tt> | ||
| − | : | + | :Fişierele [http://bugs.kde.org/ Bugzilla] |
*<tt>developer.kde.org/</tt> | *<tt>developer.kde.org/</tt> | ||
:Paginile sitului developer.kde.org | :Paginile sitului developer.kde.org | ||
*<tt>extragear/</tt> | *<tt>extragear/</tt> | ||
| − | : | + | :Aplicaţii KDE în afara distribuţiei principale. |
*<tt>kdereview/</tt> | *<tt>kdereview/</tt> | ||
| − | : | + | :Locaţia temporară a aplicaţiilor KDE care corespund calitativ aplicaţiilor din distribuţia principală. De aici, odată ce problemele principale au fost remediate, aceste aplicaţii vor fi mutate fie în <tt>/trunk/KDE/</tt> sau în <tt>/trunk/extragear/</tt> |
*<tt>kdesupport/</tt> | *<tt>kdesupport/</tt> | ||
| − | : | + | :Aplicaţii şi librării auxiliare |
| − | *<tt>koffice/</tt><br/>Grupul de | + | *<tt>koffice/</tt><br/>Grupul de aplicaţii pentru birou al KDE, conţinând: |
**'''karbon''' | **'''karbon''' | ||
**'''kchart''' | **'''kchart''' | ||
| Line 110: | Line 110: | ||
**'''kword''' | **'''kword''' | ||
*<tt>konstruct/</tt> | *<tt>konstruct/</tt> | ||
| − | :Konstruct, | + | :Konstruct, aplicaţie de compilare automată |
*<tt>l10n-kde3/</tt> | *<tt>l10n-kde3/</tt> | ||
:Traduceri pentru modulele KDE 3 marcate "unstable" (extragear, playground) | :Traduceri pentru modulele KDE 3 marcate "unstable" (extragear, playground) | ||
| Line 116: | Line 116: | ||
:Traduceri pentru KDE 4 | :Traduceri pentru KDE 4 | ||
*<tt>playground/</tt> | *<tt>playground/</tt> | ||
| − | : | + | :Applicaţii aflate în dezvoltare, dar care nu au calitatea necesară pentru a fi distribuite publicului larg. |
*<tt>qt-copy/</tt> | *<tt>qt-copy/</tt> | ||
| − | : | + | :Copie a librăriei Qt de la [http://www.trolltech.com/ Trolltech], librărie care stă la baza KDE. |
*<tt>tests/</tt> | *<tt>tests/</tt> | ||
| − | :teste pentru khtml, KOffice | + | :teste pentru khtml, KOffice şi ksvg |
*<tt>valgrind/</tt> | *<tt>valgrind/</tt> | ||
| − | : | + | :Aplicaţia Valgrind, gazduită în depozitul KDE, dar care nu face parte din KDE. Ultimele versiuni ale aplicaţiei Valgrind le puteţi găsi în propriul lor depozit SVN. Modulele Valgrind aflate în depozitul KDE ajung doar până la versiunea 2.4. |
*<tt>www/</tt> | *<tt>www/</tt> | ||
| − | :Paginile sitului principal KDE | + | :Paginile sitului principal KDE şi ale siturilor afiliate. Drepturile de scriere în acest catalog sunt limitate. |
=== Catalogul principal <tt>/tags</tt> === | === Catalogul principal <tt>/tags</tt> === | ||
| − | Acest catalog | + | Acest catalog conţine versiunile oficiale ale programelor dezvoltate în depozitul KDE. Fiecare aplicaţie are aici un subcatalog conţinând versiunile numerotate. |
| − | Spre exemplu, codul | + | Spre exemplu, codul sursă al KDE 3.4.0 se află în <tt>/tags/KDE/3.4.0/</tt>. |
=== Catalogul principal <tt>/branches</tt> === | === Catalogul principal <tt>/branches</tt> === | ||
| − | Acest catalog | + | Acest catalog conţine ramificaţiile create după fiecare versiune oficială. |
| − | Cele mai multe | + | Cele mai multe aplicaţii KDE urmează principiul de a adăuga noi abilităţi (şi chiar şi texte vizibile) doar în versiunea aflată în dezvoltare — |
| − | cea | + | cea păstrată în <tt>/trunk/</tt>. Totuşi, modificările care rezolvă probleme se aplică tuturor programelor, chiar şi după publicarea versiunii oficiale. |
| − | Pentru a putea realiza acest lucru, | + | Pentru a putea realiza acest lucru, în momentul publicării unei versiuni oficiale este creată o ramificaţie a versiunii de dezvoltare din acel moment. Modificările care rezolvă probleme sunt apoi adăugate la această ramificaţie. Aceste ramificaţii se află în <tt>/branches/</tt>. |
| − | Spre exemplu, | + | Spre exemplu, ramificaţia KDE 3.4.x se află în <tt>/branches/KDE/3.4/</tt> |
Cataloagele din <tt>/branches</tt> apartin fiecarei aplicatii in parte, cum ar fi <tt>akregator/</tt>, <tt>amarok/</tt>, | Cataloagele din <tt>/branches</tt> apartin fiecarei aplicatii in parte, cum ar fi <tt>akregator/</tt>, <tt>amarok/</tt>, | ||
Languages: عربي | Asturianu | Català | Česky | Kaszëbsczi | Dansk | Deutsch | English | Esperanto | Español | Eesti | فارسی | Suomi | Français | Galego | Italiano | 日本語 | 한국어 | Norwegian | Polski | Português Brasileiro | Română | Русский | Svenska | Slovenčina | Slovenščina | српски | Türkçe | Tiếng Việt | Українська | 简体中文 | 繁體中文
| Tutorial Series | Getting Started |
| Previous | None |
| What's Next | n/a |
| Further Reading | n/a |
Aceasta este o scurtă introducere în folosirea utilitarului Subversion pentru a accesa fişierele din depozitul SVN al KDE. Dacă aveţi nevoie de un manual complet al utilitarului Subversion, vă recomandăm "Version Control with Subversion".
Pentru a accesa depozitul SVN al KDE aveţi nevoie de:
Notă: Dacă doar doriţi să descărcaţi fişiere, fără a avea nevoie de drepturi de scriere, nu este necesar contul de utilizator; folosiţi "svn" ca şi "<protocol>", fără "<utilizator>@", şi serverul "anonsvn.kde.org" în locul serverului "svn.kde.org".
Instalarea clientului Subversion: această pagină nu conţine instrucţiuni privind instalarea clientului Subversion. Pentru a afla cum puteţi instala Subversion consultaţi documentaţia de instalare a programelor pentru sistemul de operare pe care îl folosiţi. Veţi avea nevoie de cel puţin versiunea 1.1 a Subversion. Dacă compilaţi Subversion din codul sursă şi doriţi să accesaţi depozitul SVN al KDE cu protocolul Internet "https" (şi nu svn+ssh), aveţi nevoie de suport pentru SSL şi ZLIB, deci va trebui să folosiţi opţiunile de compilare --with-ssl --with-zlib.
De asemenea, puteţi instala una dintre multele interfeţe grafice disponibile pentru Subversion. Acest tutorial a fost scris pentru a-i ajuta pe cei care folosesc doar clientul svn şi se referă la acţiunile care pot fi realizate cu cunoscutul utilitar cvs.
Obţinerea unui cont de utilizator: dacă aţi avut un cont de acces la depozitul CVS, acesta a fost adaptat pentru folosirea cu Subversion. Dacă nu aţi avut un asemenea cont, consultaţi acest ghid pentru a afla cum puteţi obţine unul.
| Note |
|---|
| Dacă nu vă mai amintiţi parola contului CVS, există două modalităţi simple de a o recupera: folosiţi cvspwd (C) sau cvs-unscramble (Perl). |
svn.kde.org/home/kde
Aceasta este adresa depozitului SVN a KDE. Poate fi accesată folosind oricare dintre protocoalele Internet HTTPS sau SVN+SSH, ceea ce înseamna că parola dumneavoastră nu va putea fi interceptată de către persoane nedorite.
Semnătura SSL în format MD5 recunoscută de către depozitul SVN este:
F6BF EDE2 D016 D1B2 4F18 742E 2C8F B7EF
iar semnătura SSL în format SHA1 este:
e1:e6:41:96:3c:eb:ae:78:e2:73:0d:a2:32:2f:6b:21:13:bf:3d:0f
Dacă folosiţi protocolul svn+ssh, semnătura cheii RSA a serverului este:
86:f3:66:06:20:74:81:d0:1b:b4:2f:25:03:f7:8e:fb
Depozitul este împărţit în următoarele cataloage principale:
Interfaţa online a depozitului o veţi găsi la adresa http://websvn.kde.org/
În catalogul principal /trunk veţi găsi ultima versiune a surselor KDE. Acestea vor deveni următoarea distribuţie a KDE şi a aplicaţiilor sale. Tot aici veti găsi şi modulul www, care conţine paginile sitului principal KDE şi ale siturilor afiliate.
/trunk este împărţit mai departe în:
Acest catalog conţine versiunile oficiale ale programelor dezvoltate în depozitul KDE. Fiecare aplicaţie are aici un subcatalog conţinând versiunile numerotate.
Spre exemplu, codul sursă al KDE 3.4.0 se află în /tags/KDE/3.4.0/.
Acest catalog conţine ramificaţiile create după fiecare versiune oficială.
Cele mai multe aplicaţii KDE urmează principiul de a adăuga noi abilităţi (şi chiar şi texte vizibile) doar în versiunea aflată în dezvoltare — cea păstrată în /trunk/. Totuşi, modificările care rezolvă probleme se aplică tuturor programelor, chiar şi după publicarea versiunii oficiale.
Pentru a putea realiza acest lucru, în momentul publicării unei versiuni oficiale este creată o ramificaţie a versiunii de dezvoltare din acel moment. Modificările care rezolvă probleme sunt apoi adăugate la această ramificaţie. Aceste ramificaţii se află în /branches/.
Spre exemplu, ramificaţia KDE 3.4.x se află în /branches/KDE/3.4/
Cataloagele din /branches apartin fiecarei aplicatii in parte, cum ar fi akregator/, amarok/, arts/, k3b/, etc. Tot aici veti gasi catalogul KDE/, continand toate versiunile oficiale ale KDE.
Un catalog mai special aflat in /branches este work/. Acest catalog contine asa-numitele "ramificatii de test", adica ramificatii continand cod sursa aflat in teste, uneori chiar experimental. Ramificatiile de test care afecteaza mai multe aplicatii sunt pastrate in /branches/work/, dar ramificatiile care afecteaza doar o singura aplicatie pot fi pastrate in catalogul aplicatiei respective. Dezvoltatorii aplicatiei respective sunt cei care iau decizia folosirii uneia dintre aceste locatii.
Comanda Subversion checkout poate fi folosita pentru a descarca orice modul din depozitul SVN al KDE.
Atentie! Daca descarcati trunk/KDE/ sau branches/KDE/foo/ veti constata ca ati descarcat intreg modulul kde-i18n!
Spre exemplu, daca doriti sa descarcati doar modulul KDevelop din depozit, folositi comenzile:
pentru CVS:
cvs -d :pserver:yourname@cvs.kde.org:/home/kde login cvs -d :pserver:yourname@cvs.kde.org:/home/kde checkout kdevelop
pentru Subversion:
Utilizatorii CVS care acceseaza depozitul prin intermediul SSH ar trebui sa foloseasca protocolul svn+ssh, iar utilizatorii CVS care acceseaza depozitul folosind o parola ar trebui sa foloseasca protocolul https in comenzile urmatoare.
svn checkout <protocol>://<utilizator>@svn.kde.org/home/kde/trunk/KDE/kdevelop
Pentru a actualiza copia dumneavoastra, folositi comanda update.
Aceasta comanda functioneaza la fel ca in CVS: schimbati catalogul curent cu cel al copiei locale (pentru cei neexperimentati in folosirea Subversion, copia locala ar trebui sa se afle in catalogul personal) si tastati comanda svn update (sau, mai scurt, svn up).
Pentru a afla care dintre fisierele locale au fost modificate in depozit, majoritatea utilizatorilor CVS foloseau comanda:
cvs up
si cautau marcajul M; in Subversion puteti afla starea fisierelor locale cu comanda:
svn status
.
La fel ca in CVS, inglobarea modificarilor in depozitul SVN se realizeaza cu una dintre comenzile commit sau checkin (ci pe scurt).
comenzile CVS:
cvs commit # sau cvs ci # sau cvs ci numefisier.cpp
comenzile Subversion:
svn commit # sau svn ci # sau svn ci numefisier.cpp
svn va porni editorul de text specificat in variabila de mediu $SVN_EDITOR pentru a va permite sa introduceti un mesaj asociat cu modificarile dumneavoastra. Alternativ, puteti folosi optiunea -m alaturi de textul mesajului:
svn ci -m "Actualizarea protocolului de comunicatie conform cu standardul HTTP/1.1"
Subversion pastreaza lista fisierelor ignorate in fiecare catalog. Pentru a edita lista fisierelor ignorate din catalogul curent, folositi comanda:
svn propedit svn:ignore .
svn va deschide lista in editorul de texte; scrieti numele fisierelor care doriti sa fie ignorate, cate unul pe linie. Cand ati terminat de modificat lista, tastati o comanda de inglobare pentru a trimite modificarea facuta la depozitul SVN.
In CVS, dar nu si in Subversion inca, fisierele ignorate puteau fi specificate intr-o lista globala. Subversion 1.3 va adauga suport pentru aceasta lista globala, dar pana atunci puteti adauga lista de fisiere ignorate la grupul [miscellany] din fisierul ~/.subversion/config (totul pe o singura linie):
global-ignores = *.o *.lo *.la .*.rej *.rej .*~ *~ .#* #*# .DS_Store *.moc *.moc.cc *.moc.cpp config.log config.status config.cache *.gmo .deps .libs SunWS_cache *.lo *.la *.rpo *.la.closure *_la_closure.cpp *_la_closure.cc *_la_closure.cxx *.all_cc.cc *.all_cpp.cpp *.all_C.C *.all_cxx.cxx *_meta_unload.cc *_meta_unload.h *_meta_unload.cpp *_meta_unload.C *_meta_unload.cxx index.cache.bz2 .memdump Makefile.rules.in Makefile.calls.in Makefile.rules Makefile.calls autom4te.cache *.kidl
Spre deosebire de CVS, Subversion nu genereaza un numar de revizie pentru fiecare fisier modificat, ci pentru intreg depozitul. Astfel, un numar de revizie va reprezenta continutul depozitului in momentul in care a fost creata revizia. Cu alte cuvinte, un numar de revizie seamana foarte mult cu o amprenta temporala (de fapt, serverul Subversion foloseste acest fapt pentru a cauta dupa data mai repede).
Spre exemplu, cand acualizati din depozitul KDE, Subversion va va comunica urmatoarele:
Updated to revision 403821.
Aceasta inseamna ca ultima revizie disponibila in depozit la momentul actualizarii a fost 403821. Daca modificati un fisier si il inglobati in depozit, Subversion va actualiza numarul reviziei pe server si va va informa de aceasta actualizare; ca si in CVS, doar fisierele inglobate vor fi actualizate: va trebui sa rulati comanda cvs up petru a actualiza si restul fisierelor.
Daca doriti sa accesati o anumita revizie a unui fisier, puteti folosi optiunea -r alaturi de una din urmatoarele:
Iata un posibil scenariu:
Aceste cuvinte cheie sunt utile atunci cand doriti sa obtineti inregistrari sau diferente intre inglobari in depozit.
Daca doriti sa vedeti diferenta dintre copia dumneavoastra si revizia BASE puteti folosi comanda:
svn diff
Aceasta operatie este rapida deoarece Subversion poate obtine ambele versiuni din copia locala. Evident, nu este nevoie de conexiune la server pentru a efectua aceasta operatie.
Daca doriti sa vedeti diferenta dintre copia dumneavoastra si ultima revizie disponibila pe server puteti folosi comanda:
svn diff -r HEAD
Daca doriti sa vedeti ce s-a schimbat in depozit de la ultima actualizare pe care ati facut-o copiei dumneavoastra puteti folosi comanda:
svn diff -r BASE:HEAD
Daca doriti sa vedeti ultima modificare inglobata inainte de revizia BASE puteti folosi comanda:
svn diff -r PREV:BASE # sau svn diff -r PREV:COMMITTED
alcarei format este valabil si pentru comanda svn log.
Poate doriti sa includeti o copie a unui catalog aflat la o alta locatie, doar pentru a il accesa mai usor, nu pentru a modifica codul continut. Bineinteles, aceasta copie ar trebui sa se actualizeze automat de fiecare daca cand catalogul original este modificat. Subversion ofera suport pentru acest scenariu. Va trebui sa editati proprietatea svn:externals a catalogului local in care doriti sa plasati copia catalogului extern. Folositi comanda:
svn propedit svn:externals .
si introduceti cate o linie pentru fiecare catalog extern ca in exemplul urmator:
libkhalkhi svn://anonsvn.kde.org/home/kde/trunk/playground/pim/khalkhi
La fiecare operatie de actualizare catalogul local libkhalkhi va fi actualizat cu continutul catalogului extern /trunk/playground/pim/khalkhi.
| Warning |
|---|
| De retinut ca nu puteti ingloba in depozit modificarile pe care le faceti in copia locala a catalogului extern, aceasta neavand drept de inglobare pe server. |
In exemplele de mai sus am folosit protocolul svn://anonsvn.kde.org deoarece serverul anonsvn.kde.org poate fi accesat fara a avea nevoie de cont de utilizator. Protocoalele https: sau svn+ssh: vor putea fi folosite doar daca aveti cont de utilizator pe server. Serverul anonsvn.kde.org are totusi unele mici dezavantaje: nu este tot timpul sincronizat cu serverul svn.kde.org, deci inglobarile efectuate pe svn.kde.org vor aparea putin mai tarziu pe anonsvn.kde.org. De asemenea unele utilitare firewall blocheaza protocolul svn:.
Un caz special al KDE 3 este catalogul admin, care contine utilitarele de compilare specifice KDE 3. Acesta este dezvoltat in /branches/KDE/3.5/kde-common si are cate o copie in fiecare dintre cataloagele principale. Depozitul SVN al KDE este configurat sa permita doar operatii de descarcare din catalogul admin, asadar nu este indicat sa modificati linia
admin https://svn.kde.org/home/kde/branches/KDE/3.5/kde-common/admin
din proprietatea svn:externals a cataloagelor principale.
Consultati aceasta pagina wiki a KDE pentru a afla mai multe informatii despre folosirea utilitarului Subversion cu depozitul SVN al KDE.