Apache Subversion

Apache Subversion

informație
Creator CollabNet
Dezvoltat de Apache Software Foundation
Prima versiune 20 octombrie 2000
Ultima versiune 1.14.1 (10 februarie 2021)
Depozit svn.apache.org/repos/asf/subversion/trunk
Scris in VS
Sistem de operare GNU / Linux , Microsoft Windows , macOS și BSD ( d )
Tip Managementul centralizat al versiunilor ( d )
Licență Licență Apache versiunea 2.0
Site-ul web subversion.apache.org

Subversion (prescurtat ca svn ) este un software de control al versiunilor , lansat sub licența Apache . A fost conceput pentru a înlocui CVS . Autorii săi se bazează voluntar pe aceleași concepte (în special pe principiul depozitului centralizat și unic) și consideră că modelul CVS este bun, doar implementarea acestuia poate fi îmbunătățită.

Prin urmare, Subversion funcționează în modul client-server , cu:

Proiectul a fost lansat în Februarie 2000de la CollabNet , cu angajarea lui Jim Blandy de la Karl Fogel , care lucra deja la un nou software de control al versiunilor.

14 februarie 2010, SVN a devenit oficial un proiect al Fundației Apache , luând numele Apache Subversion .

Contribuțiile Subversionului

Subversiunea a fost scrisă pentru a umple unele lacune în CVS .

Iată principalele contribuții:

Din punctul de vedere al utilizatorului obișnuit, principalele modificări la trecerea la Subversion sunt:

Sucursale și etichete

Una dintre particularitățile Subversion este că nu face distincție între o etichetă , o ramură și un director . Este o convenție simplă de denumire pentru utilizatorii săi. Devine foarte ușor să comparați o etichetă și o ramură sau altă cruce.

Indiferent de sistemul de control al versiunii, numerele de revizuire din mai multe cifre sunt greu de reținut. Din acest motiv, multe sisteme permit utilizatorului să definească etichetele ca sinonime mai ușor de reținut. Dar ceea ce recomandă utilizarea Subversion ca etichetă este de o natură complet diferită: odată ce comanda este svn copyefectuată, o etichetă Subversion nu are absolut nicio memorie din ce număr de revizuire a provenit. În timp ce în majoritatea celorlalte sisteme o etichetă este o referință , o „etichetă” Subversion este doar o copie. Sunt disponibile doar câteva referințe predefinite: HEAD, PREV, BASE, COMMITTED.

O altă diferență este că etichetele de pe alte sisteme sunt momente în timp, în timp ce Subversion recomandă definirea etichetelor ca puncte în spațiul sistemului de fișiere.

Această absență a unei etichete în sensul obișnuit face ca anumite operații să fie puțin mai practice în Subversion. De exemplu, găsirea a ceea ce s-a schimbat de la o etichetă la alta într-un fișier este puțin mai complicată decât executarea unei comenzi simple: svn diff -r tag1:tag2 monfichierîn directorul de lucru.

Alte operații devin imposibile: de exemplu, o comandă precum svn log -r tag1:tag2 monfichiernu funcționează și nu există nicio alternativă care să funcționeze.

Pentru a depăși aceste neajunsuri, adăugarea de „etichete” sau „pseudonime” a fost propusă pe listele de corespondență SVN. Aceste etichete ar fi echivalente cu etichetele din alte sisteme precum CVS , git sau altele. În 2010, această sugestie nu a trecut de etapa discuției.

Principalele comenzi ale Subversionului

Ordonat Sens
adăuga Declarați adăugarea unei noi resurse pentru următorul commit.
vina Vă permite să știți care colaborator a trimis liniile unui fișier.
checkout (co) Preluează local o versiune și metadatele sale din depozit.
a curăța Curățați copia locală pentru ao readuce la o stare stabilă.
comite (ci) Salvează modificările locale în depozit creând o nouă versiune.
copia (cp) Copiați resursele într-o altă locație (local sau în depozit).
șterge (rm) Declarați eliminarea unei resurse existente pentru următorul commit (sau eliminați direct o resursă din depozit).
dif (di) Calculează diferența dintre două versiuni (vă permite să creați un patch pentru a aplica unei copii locale).
export Preluează o versiune fără metadate din depozit sau copie locală.
import Trimite un arbore local către depozit.
info Oferă informații despre originea copiei locale.
listă (ls) Listează intrările dintr-un director de depozit.
Lacăt Blochează un fișier.
Buturuga Oferă mesaje de validare pentru o resursă.
combina Calculează diferența dintre două versiuni și aplică această diferență copiei locale.
muta (mv) Declară mișcarea unei resurse.
propdel (pd) Elimină calitatea de proprietar al fișierului.
propedit (pe) Editați valoarea unei proprietăți.
propget (pg) Returnează valoarea unei proprietăți.
proplist (pl) Oferă o listă de proprietăți.
propset (ps) Adaugă o proprietate.
rezolvat Folosit pentru a declara că un conflict de modificare este rezolvat.
reveni Revine la o versiune dată a unei resurse. Modificările locale sunt suprascrise.
stare (st) Indică modificările care au fost făcute.
comutator (sw) Treceți la o altă versiune / ramură a depozitului.
actualizare (sus) Actualizează copia locală existentă din ultima versiune disponibilă în depozit.
debloca Scoateți o încuietoare.

Aplicații client și server

Software-ul clientului

Accesul la serverul de subversiune se poate face folosind protocolul său nativ (portul TCP implicit: 3690) sau printr-o conexiune HTTP (serverul trebuie să accepte apoi extensiile WebDAV). Aceste două moduri de acces pot fi securizate la nivelul de transport (tunel SSH sau HTTPS), ceea ce este recomandat în special în cazul serverelor dintr-o rețea publică, cum ar fi Internetul.

În plus față de instrumentul pentru linia de comandă, există mai multe software-uri prevăzute cu interfață grafică, sub formă de executabil independent , dar și pluginuri în special pentru EDI .

Software de server

În prezent sunt disponibile două tipuri de servere de subversiune:

Software auxiliar

Pe serverele Windows, software-ul VisualSvn Server permite ambalarea Apache + Subversion cu configurare automată și o consolă de administrare a serverului grafic pentru a gestiona drepturile de pe un server Active Directory ...

Partea de server

Vezi și tu

linkuri externe

Note și referințe

  1. „  https://subversion.apache.org/docs/release-notes/release-history.html  ”
  2. „  Apache Subversion 1.10.7 lansat  ” (accesat la 10 februarie 2021 )
  3. „  Subversion  ” , la directory.fsf.org , Free Software Directory ,2013(accesat la 11 septembrie 2013 )
  4. Liste de corespondență Subversion
  5. „  Gestionarea versiunilor cu Subversion  ”
  6. Site-ul www.visualsvn.com
  7. Site-ul USVN
  8. Site sventon