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.
![Delphi și svn, flacără digitală (documentația spune următoarele) Delphi și svn, flacără digitală](https://images-on-off.com/images/172/delphiisvndigitalflame-ba2e00c4.jpg)
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
![Delphi și svn, flacără digitală (Manager de proiect, faceți clic dreapta) Delphi și svn, flacără digitală](https://images-on-off.com/images/172/delphiisvndigitalflame-b0162512.jpg)
![Delphi și svn, flacără digitală (Subversion & gt; Răsfoire depozit & gt;) Delphi și svn, flacără digitală](https://images-on-off.com/images/172/delphiisvndigitalflame-b3f93eb8.jpg)
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.
![Delphi și svn, flacără digitală (documentația spune următoarele) Delphi și svn, flacără digitală](https://images-on-off.com/images/172/delphiisvndigitalflame-049c07f3.jpg)
Avem următoarea imagine
![Delphi și svn, flacără digitală (dosar de experimente speciale) Delphi și svn, flacără digitală](https://images-on-off.com/images/172/delphiisvndigitalflame-50d3a116.jpg)
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.
![Delphi și svn, flacără digitală (delphi) Delphi și svn, flacără digitală](https://images-on-off.com/images/172/delphiisvndigitalflame-c592dc59.jpg)
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
![Delphi și svn, flacără digitală (dosar de experimente speciale) Delphi și svn, flacără digitală](https://images-on-off.com/images/172/delphiisvndigitalflame-f9d7c3f5.jpg)
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ă.
![Delphi și svn, flacără digitală (Subversion & gt; Răsfoire depozit & gt;) Delphi și svn, flacără digitală](https://images-on-off.com/images/172/delphiisvndigitalflame-a0657111.jpg)
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ă.
![Delphi și svn, flacără digitală (dosar de experimente speciale) Delphi și svn, flacără digitală](https://images-on-off.com/images/172/delphiisvndigitalflame-00fdeed9.jpg)
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
![Delphi și svn, flacără digitală (documentația spune următoarele) Delphi și svn, flacără digitală](https://images-on-off.com/images/172/delphiisvndigitalflame-b92e03ed.jpg)
Următoarele sunt scrise în documentație:
Să facem asta ...
![Delphi și svn, flacără digitală (delphi) Delphi și svn, flacără digitală](https://images-on-off.com/images/172/delphiisvndigitalflame-37f34be5.jpg)
![Delphi și svn, flacără digitală (Manager de proiect, faceți clic dreapta) Delphi și svn, flacără digitală](https://images-on-off.com/images/172/delphiisvndigitalflame-0dde5b09.jpg)
Delphi ne-a întors la proiect.
Se spune documentația
Efectuați una dintre următoarele acțiuni:
Alegeți prima opțiune.
![Delphi și svn, flacără digitală (dosar de experimente speciale) Delphi și svn, flacără digitală](https://images-on-off.com/images/172/delphiisvndigitalflame-e0d93e28.jpg)
![Delphi și svn, flacără digitală (documentația spune următoarele) Delphi și svn, flacără digitală](https://images-on-off.com/images/172/delphiisvndigitalflame-43b81d11.jpg)
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.
![Delphi și svn, flacără digitală (delphi) Delphi și svn, flacără digitală](https://images-on-off.com/images/172/delphiisvndigitalflame-42a6bfd5.jpg)
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.
![Delphi și svn, flacără digitală (delphi) Delphi și svn, flacără digitală](https://images-on-off.com/images/172/delphiisvndigitalflame-dd9681c9.jpg)
Î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
![Delphi și svn, flacără digitală (Subversion & gt; Răsfoire depozit & gt;) Delphi și svn, flacără digitală](https://images-on-off.com/images/172/delphiisvndigitalflame-53297924.jpg)
![Delphi și svn, flacără digitală (documentația spune următoarele) Delphi și svn, flacără digitală](https://images-on-off.com/images/172/delphiisvndigitalflame-31d28a28.jpg)
Dacă cineva a schimbat ceva pe server și avem nevoie de o copie nouă, facem update.
![Delphi și svn, flacără digitală (documentația spune următoarele) Delphi și svn, flacără digitală](https://images-on-off.com/images/172/delphiisvndigitalflame-404abe16.jpg)
Actualizați proiectul în ansamblu
![Delphi și svn, flacără digitală (documentația spune următoarele) Delphi și svn, flacără digitală](https://images-on-off.com/images/172/delphiisvndigitalflame-8e4c5080.jpg)
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:
![Delphi și svn, flacără digitală (documentația spune următoarele) Delphi și svn, flacără digitală](https://images-on-off.com/images/172/delphiisvndigitalflame-1e287952.jpg)
Î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 și svn, flacără digitală (delphi) Delphi și svn, flacără digitală](https://images-on-off.com/images/172/delphiisvndigitalflame-c078fac7.jpg)
Delphi ne întreabă - în mintea noastră sensibilă?
![Delphi și svn, flacără digitală (delphi) Delphi și svn, flacără digitală](https://images-on-off.com/images/172/delphiisvndigitalflame-2931eadb.jpg)
Mai mult, poate că va exista o astfel de eroare
![Delphi și svn, flacără digitală (Managerul de proiect, faceți clic dreapta) Delphi și svn, flacără digitală](https://images-on-off.com/images/172/delphiisvndigitalflame-c9a37962.jpg)
Solicită să fie actualizată la început, care este - faceți-o și repetați Revenire
![Delphi și svn, flacără digitală (delphi) Delphi și svn, flacără digitală](https://images-on-off.com/images/172/delphiisvndigitalflame-354b71df.jpg)
Suntem de acord să repornim și să vedem următoarele
![Delphi și svn, flacără digitală (documentația spune următoarele) Delphi și svn, flacără digitală](https://images-on-off.com/images/172/delphiisvndigitalflame-3a09a112.jpg)
După o retrocedare - dacă avem într-adevăr nevoie de această stare - trebuie să facem Commit - pentru a repara această stare pe server.
![Delphi și svn, flacără digitală (documentația spune următoarele) Delphi și svn, flacără digitală](https://images-on-off.com/images/172/delphiisvndigitalflame-c0f61422.jpg)
Ei bine, după aceea - uitați-vă la jurnal
![Delphi și svn, flacără digitală (delphi) Delphi și svn, flacără digitală](https://images-on-off.com/images/172/delphiisvndigitalflame-0aee4d8a.jpg)
Î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.