După ce am citit documentația SVN din Delphi, am încercat să lucrez cu sistemul de control al versiunilor de la Delphi. Documentația prezintă aici un tabel comparativ al versiunii funcționale TortoiseSVN și Delphi a acestei funcționalități. Să încercăm să creăm un proiect VCL simplu și să trecem prin această masă.
Crearea proiectului sursă
Deci, vom avea un dosar special pentru experimente, de exemplu DelphiSVN, vom plasa folderul SourceFolder în el, în care vom salva proiectul nostru original.
Importați în depozit de pe serverul VisualSVN
În primul pas, trebuie să importem proiectul în depozitul SVN. În docuri, în tabel se spune că pentru import este necesar să se facă următoarele
Sistemul sugerează alegerea dintre Git, Mercury și Subversion
Fiți atenți!
Am importat 4 fișier și dosar au fost 5. Dacă am făcut importuri de „broască țestoasă“, care este, de TortoiseSVN, v-ar fi trimis la server la fiecare 5 fișiere. Și în viitor, cu aceste fișiere fantomatice, ar fi necesar să înțelegem manual. Așa că Delphi a trimis doar acele fișiere direct legate de proiect. Apoi vom vedea că aceste fișiere fantomă cresc, de la 1 la 3 în experimentul meu.
Asta este? La locul de muncă - este mai bine să alegeți cu ceea ce vom lucra în principal, fie din Delphi, fie din Turtle, cu toate consecințele care rezultă. Dacă de la Delphi, tu ea știe ce să importe fișiere, astfel încât să nu sufere cu sincronizare, și cu excepția cazului în Testoasele, atunci ai nevoie pentru a înțelege ce aceste fișiere sunt și modul în care acestea sunt actualizate. Pentru că, în cazul meu, am observat că acestea au fost actualizate în timpul lansării programului, închiderea proiectului și așa mai departe.
În ambele cazuri, ambele abordări vor funcționa.
Repo-Browser sau verificați - a pornit corect boot-ul?
În tabelul de documentare sunt indicate următoarele:
Efectuați una dintre următoarele acțiuni:
- Manager de proiect | faceți clic dreapta pe un fișier | Răsfoiți depozitul.
- Manager de proiect | faceți clic dreapta pe un proiect | Răsfoiți depozitul | alegeți fie:
- Subversion> Răsfoire depozit> De la rădăcină depozit
- Subversiune> Răsfoire depozit> Din directorul de proiect
Ei bine, nu avem nevoie de rădăcina Depozitului, ci de directorul proiectului în depozit, apoi vom selecta a doua opțiune.
Avem următoarea imagine
Toate cele 4 fișiere trimise pe server se află acolo. Deși există 6 fișiere pe discul local în acest moment - aparent unele fișiere suplimentare. Se pare că managerul de import a luat în considerare ceva și a descărcat doar 4 fișiere. În general, vom vedea ce se întâmplă în continuare.
Selectarea unei copii de lucru din depozit
Se spune documentația cu privire la acest subiect
Deci, închideți proiectul curent și deschideți unul nou care va fi sub controlul versiunii.
Delphi ne întreabă din nou despre sistemul de control al versiunii - selectați SubVersion
Apoi, cel mai interesant este că trebuie să alegem calea de la care Delphi va încărca fișierele de proiect pentru controlul versiunii și calea în care vom avea o copie de lucru. Facem acest lucru după cum urmează.
La începutul postului am creat un dosar special pentru experimente DelphiSVN, în care creăm WorkFolder, în care vom încărca fișiere de pe server.
Delphi descarcă în siguranță fișierele și întreabă ce proiect să deschidă.
Un moment interesant
Aici a apărut un moment interesant. Iar atunci când importați serverul de la SourceFolder și atunci când sunt încărcate în WorkFolder Delphi le-a pus sub control - îl puteți vedea, dacă te duci la folderul DelphiSVN - ambele sub-dosare sunt evidențiate cu o pictogramă verde - înseamnă că sincronizarea cu serverul SVN se face.
Salvarea modificărilor la server (Commit)
Să facem câteva modificări, de exemplu adăugăm un ListBox și o linie Line1
Următoarele sunt scrise în documentație:
Să facem asta ...
Delphi ne-a întors la proiect.
Se spune documentația
Efectuați una dintre următoarele acțiuni:
Alegeți prima opțiune.
Se spune documentația
De asemenea, culoarea este evidențiată - ceea ce a fost adăugat și ceea ce a fost redus. În stânga, argumentele pro și contra, înțeleg, în plus, ceea ce a fost adăugat, în negativ - ce a fost.
Să aruncăm o privire la cel de-al doilea fișier din lista drop-down de mai sus, Unit.dfm - și aici, Delphi prietenos cu noi evidențiază ce sa schimbat.
În documentație se arată astfel
Fila Istoric | faceți clic pe (Adnotați).
Cum să: Utilizați caracteristica Adnotare.
Trebuie să alegeți o unitate
Apoi alegeți revizuirea
Faceți clic pe adnotare
Dacă cineva a schimbat ceva pe server și avem nevoie de o copie nouă, facem update.
Actualizați proiectul în ansamblu
Această operațiune restabilește fișierele deteriorate sau conflictuale când programul Commit sau Update nu reușește. Aceasta este, de fapt, fișiere UPdate de pe server, dar aparent cu anumite momente specifice. Eu însumi nu știu exact cum funcționează.
Următoarele sunt scrise în documentație:
În jurnal, această operație nu este reflectată în nici un fel.
Schimbări de revizie
În tabelul pe care am urmat revărsarea modificărilor nu este descris direct, dar nu este nimic complicat. Mergem în jurnal și facem revenirea la revizuirea la care vrem să ne întoarcem.
Delphi ne întreabă - în mintea noastră sensibilă?
Mai mult, poate că va exista o astfel de eroare
Solicită să fie actualizată la început, care este - faceți-o și repetați Revenire
Suntem de acord să repornim și să vedem următoarele
După o retrocedare - dacă avem într-adevăr nevoie de această stare - trebuie să facem Commit - pentru a repara această stare pe server.
Ei bine, după aceea - uitați-vă la jurnal
În general, am făcut toate operațiunile de bază pentru a lucra cu clientul. În ceea ce privește munca în echipă și modelul fuziunii - voi scrie într-un post separat.