Jump to content
php.lv forumi

Par SVN


betons

Recommended Posts

http://en.wikipedia.org/wiki/Subversion_%28software%29

In computing, Subversion (SVN) is a version control system (VCS) initiated in 2000 by CollabNet Inc. It allows users to keep track of changes made to any type of electronic data, typically source code, web pages or design documents.

 

Uz win es izmantoju Toirtoise SVN. Baigi labi integrējas ar pašu Win.

 

Vispār jau :) http://www.google.lv/search?hl=lv&q=svn+for+beginner

Link to comment
Share on other sites

Tik daudz cik tur es jau sapratu un tag lasu par SVN, bet tā uzreiz nedzirdētu sistēmu grūti izprast.

Vienkārši, ja kāds pieredzējis lietotājs, tā īsi pastāstāstītu kā viņa strādā, tad tas lasāmais arī labāk pielektu.

Kādi softi vajadzīgi (ieteicami), ko īsti tas SVN dara, utt.

Link to comment
Share on other sites

Kā jau saka - tur galveno domu biju jau pateicis:

SVN ir versiju kontroles sistēma. Vienkāršoti sakot - tā palīdz vairākiem programmētājiem vienlaicīgi strādāt pie viena projekta. Tā arī nodrošina ērtu sources browsēšanu ne tikai pa failu sistēmu, bet arī atpakaļ laikā - var apskatīties, salīdzināt un paņemt vecākas koda versijas. Tas bieži vien palīdz labot un detektēt dažādus bugus. svn's nav vienkārši sources saarhivēšana un nolikšana uz servera. svn piedāvā daudz visādas papildus fīčas - vecākas sources apskatīšanu, branču taisīšanu (sources modifikācija atsevišķā vietā), sources samergošana (kad apvieno izmaiņas, piemēram, no brančiem atpakaļ uz galveno branču), utt.

 

Pats es sevi bez versiju kontroles sistēmas tagad grūti sevi iedomāties programmējam ;) Pat, ja viens pats pie koda strādāju, jo brīžiem ļoti vajag un nākas izmantot vienu no tās galvenajām priekšrocībām - ētri un ātri atgriezties/apskatīt/salīdzināt failu vecākas versijas. Agrāk gan arī likās, kam tik sarežģītas lietas vajag.. (pats nesaprotu kā agrāk bez versiju kontroles sistemas varēju iztikt)

 

Window'am neko labāku par TortoiseSVN neesmu atradis un nav arī īsti vajadzīgs.

Linux'im/MacOSX lietoju RapidSVN vai arī komandrindā, ja vajag vienkāršas darbības veikt.

 

Ja nezini, kur sākt, tad atver to pašu TortoiseSVN help un ej viņam cauri, tur tiks pastāstīti pamata principi un lietas, kas jāzin. Vēl ir arī SVN book: http://svnbook.red-bean.com/ Tur ar aprakstīts kā un ko rīkoties.

 

Vienīgais, kas man SVN'ā nepatīk ir branču megošana atpakaļ trunkā. Ja izmaiņas bijušas pietiekoši daudz, tad tas ir liels PITA. Runā, ka Git ar to neesot lielu problēmu (tā tiekot lietot GNU/Linux kernelim).

Link to comment
Share on other sites

Nu vajadzīgs ir pats Subversion serveris, kur kods stāvēs, un kāds klients ar ko tu darbosies ap šo kodu.

 

Un par to ko SVN dara tev jau stāsta. Ar to menedžē izmaiņas kodā. Tas nozīmē, ja tu veic kādu izmaiņu kodā, tad tā tiks pielogota un būs apskatāma. Būs arī iespēja atsaukt šo izmaiņu. Vispār Subversion logo pilnīgi visas darbības un piedāvā iespēju atgriezt kodu jebkurā no iepriekšējiem stāvokļiem.

 

Darbība pašos pamatos ir vienkārša. Tu izveido jaunu koda repozitoriju uz Subversion servera, uploado (komito) tur savu kodu. Turpini strādāt pie sava koda lokāli. Kad kādas nopietnākas izmaiņas veiktas (vai arī dienas beigās) ar Subversion klienta palīdzību uploado uz servera izmaiņas. Klients automātiski noteiks kuros failos ir veiktas izmaiņas. Katra uploadošanas reize tiek piefiksēta un ir iespējams pēc tam vēlāk salīdzināt vai atgriezt kodu dažādos tā izstrādes laikos.

 

Tāpat arī tas dod iespēju vairākiem cilvēkiem reizē strādāt pie koda. Iedomājos, ka divi cilvēki strādā pie viena projekta. Vispirms viņi ar Subversion klientu pieslēdzas sourcei un novelk uz lokālā datora visu kodu. Tad katrs pastrādā pie sava darbiņa un kads ir pabeigts, viens no otra neatkarīgi uploado (komito) jauno kodu uz Subversion servera. Subversion serveris ir gudrs - otra cilvēka padarītais netiks pārakstīts. Ja notiek konflikts (cilvēki strādājuši pie viena un tā paša), tad Subversion par to ziņo un piedāvā ko darīt.

 

Nu aptuveni tā. Vispār skatos, ka bubu jau arī ir uzrakstījis kautko. :) Tūlīt izlasīšu vai par velti neesmu drukājis.

Link to comment
Share on other sites

Serveris nav vajadzīgs. Jebkurš SVN klients ir arī SVN serveris. Uztaisi repozitoriju uz lokālās failsistēmas (vai tīkla) un lieto caur file:/// protokolu. Papildus bonuss - pieejas tiesības var tikt kontrolētas ar failsistēmas tiesībām (nevajag lieki čakarēties ar servera konfigurāciju). Šādi mums darbā notiek pieejas kontrole svn repozitorijiem - ar sambas šāres tiesībām zem linukša.

 

Ja vajag krutākas konfigurācijas, tad var stutēt augšā svn serveri un darboties caur svn:// vai svn+ssh:// protokolu. Vai arī uzlikt Apači un caur http(s):// protokolu.

Link to comment
Share on other sites

×
×
  • Create New...