Ang SVN ay isang sentralisadong bersyon ng control system. Mga Utos ng SVN Mga Utos ng Svn

Panimula

Ang help function ng Subversion ( svn tulong) ay nagbibigay ng buod ng magagamit na mga utos. Ang mas detalyadong impormasyon ay makukuha mula sa Subversion on-line na libro na makukuha sa http://svnbook.red-bean.com/en/1.2/index.html. Malaking tulong ang Kabanata 3.

Ang sumusunod ay isang pangunahing hanay ng mga utos na madalas gamitin ng lahat ng mga editor. Ang ilang mga utos ay may dalawang anyo, ang mahaba at ang maikli. Parehong nakalista sa paglalarawan.

svn diff. Ito ay kapaki-pakinabang para sa dalawang magkaibang layunin. Una, ang mga walang write access sa BLFS SVN server ay maaaring gamitin ito upang bumuo ng mga patch na ipapadala sa BLFS-Dev mailing list. Upang gawin ito, i-edit lang ang mga file sa iyong lokal na sand box pagkatapos ay tumakbo svn diff > FILE.patch mula sa ugat ng iyong direktoryo ng BLFS. Maaari mong ilakip ang file na ito sa isang mensahe sa mailing list ng BLFS-Dev kung saan maaaring kunin ito at ilapat ng isang taong may mga karapatan sa pag-edit sa aklat. Ang pangalawang paggamit ay upang malaman kung ano ang nagbago sa pagitan ng dalawang rebisyon gamit ang: svn diff -r revision1:revision2 FILENAME . Halimbawa: svn diff -r 168:169 index.xml maglalabas ng diff na nagpapakita ng mga pagbabago sa pagitan ng mga rebisyon 168 at 169 ng index.xml .

Subversion (SVN - Concurrent Versions System) - sentralisadong sistema kontrol ng bersyon. Idinisenyo bilang kapalit para sa CVS, ay may parehong pag-andar, ngunit kulang ng marami sa mga disadvantage nito. Tingnan din ang: SVN book.

Pagse-set up ng SVN server

SVN repository, medyo simple, sa sa halimbawang ito, direktoryo, /home/svn/, dapat na umiiral: # svnadmin create --fs-type fsfs /home/svn/project1 Maaari kang kumonekta sa repositoryo sa mga sumusunod na paraan:

  • file://- Direktang pag-access sa pamamagitan ng file system gamit SVN kliyente. Ang mga pribilehiyo ay dapat itakda nang tama sa lokal na file system.
  • svn:// o svn+ssh:// - Malayong pag-access Upang SVN server (ayon din sa protocol SSH). Nangangailangan ng mga karapatan sa lokal na file system, default na port: 2690/tcp.
  • http:// Malayong pag-access sa pamamagitan ng webdav gamit apache. Ang pamamaraang ito ay hindi nangangailangan ng mga lokal na gumagamit.
Mag-import at suriin ang isang umiiral na proyekto sa pamamagitan ng lokal na file system. Hindi kinakailangang pumunta sa gumaganang direktoryo, maaari mo lamang tukuyin ang buong landas: # svn import /project1/ file:///home/svn/project1/trunk -m "Initial import" # svn checkout file:// /home/svn/project1

Malayong pag-access sa pamamagitan ng SSH protocol

Malayong pag-access sa pamamagitan ng protocol SSH hindi nangangailangan ng anumang karagdagang mga setting, palitan lamang file:// sa svn+ssh/hostname. Halimbawa: # svn checkout svn+ssh://hostname/home/svn/project1 Tulad ng sa kaso ng lokal na pag-access, ang user ay dapat magkaroon ng isang account upang ma-access sa pamamagitan ng protocol SSH sa server, at wastong na-configure ang mga pahintulot sa pagbasa/pagsusulat. Maaaring angkop ang paraang ito para sa maliliit na grupo ng mga user, ang mga user sa grupo ay ang mga may-ari ng repository, halimbawa: # groupadd subversion # groupmod -A user1 subversion # chown -R root:subversion /home/svn # chmod -R 770 /home/svn

Malayong pag-access sa pamamagitan ng HTTP(apache)

Malayong pag-access sa pamamagitan ng HTTP(HTTPS), isang angkop na solusyon para sa mga malayuang pangkat ng gumagamit. Ang pamamaraang ito ay gumagamit ng web server authentication Apache(hindi mga lokal na account). Narito ang isang karaniwang configuration: LoadModule dav_module modules/mod_dav.so LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so # Para sa kontrol sa pag-access lamang Ang DAV svn # URL "/svn/foo" ay imamapa sa path ng repositoryo /home/svn/foo SVNParentPath /home/svn AuthType Basic AuthName "Subversion repository" AuthzSVNAccessFile /etc/apache2/svn.acl AuthUserFile/etc/apache2 svn- passwd Mangailangan ng valid-user Server Apache dapat magkaroon ng ganap na access sa repository: # chown -R www:www /home/svn Lumikha ng user gamit ang htpasswd: # htpasswd -c /etc/svn-passwd user1 #-c Lumikha ng file

Halimbawa ng access control svn.acl

# Default na read access. Ang "* =" ay hindi magkakaroon ng access bilang default[/] * = r project1-developers = joe, jack, jane # Magbigay ng mga pahintulot sa pagsulat sa mga developer@project1-developers=rw

Ang ilang mga utos para sa pamamahala ng SVN repository

Tingnan din ang Subversion Quick Reference Card. Tortoise SVN, isang magandang interface ng Windows.

Angkat

Mag-import sa repository bagong proyekto na naglalaman ng mga direktoryo at file, maaari mong gamitin ang command angkat. Ang parehong utos ay ginagamit din upang magdagdag ng isang direktoryo kasama ang mga nilalaman nito sa isang umiiral nang proyekto. # svn tulong sa pag-import # Tulong sa utos # Magdagdag ng bagong direktoryo at mga nilalaman nito sa src directory ng project1.# svn import /project1/newdir http://host.url/svn/project1/trunk/src -m "add newdir"

Karaniwang SVN Commands

# svn co http://host.url/svn/project1/trunk # Mag-order para sa pinakabagong bersyon # Ang mga tag at sangay ay nilikha gamit ang pagkopya# svn mkdir http://host.url/svn/project1/tags/ # Lumikha ng direktoryo ng mga tag# svn copy -m "Tag rc1 rel." http://host.url/svn/project1/trunk \ http://host.url/svn/project1/tags/1.0rc1 # svn status [--verbose] # Suriin ang katayuan ng mga file sa gumaganang direktoryo# svn magdagdag ng src/file.h src/file.cpp # Magdagdag ng dalawang file# svn commit -m "Nagdagdag ng bagong class file" # Magpadala ng mga pagbabago sa pamamagitan ng mensahe# svn ls http://host.url/svn/project1/tags/ # Listahan ng lahat ng mga tag# svn ilipat ang foo.c bar.c # Ilipat (palitan ang pangalan) ng mga file# svn tanggalin ang some_old_file # Tanggalin ang mga file

Ang seryeng ito ng mga artikulo ay nakatuon sa panimula sa paggamit SVN, mula sa pananaw regular na gumagamit. Ang artikulo ay isinulat upang matulungan ang aking mga kasamahan na mabilis na matuto at gumamit SVN. Kaya magsimula tayo sa mga pangunahing kaalaman.

Panimula

Pagbabagsak ( SVN) ay isang libre at open source na version control system. SVN nagbibigay-daan sa iyo na pamahalaan ang mga file at direktoryo, pati na rin ang mga pagbabagong ginawa sa kanila sa paglipas ng panahon. SVN nagbibigay ng mga sumusunod na tampok:

  1. Kontrol ng mga pagbabago sa direktoryo. SVN gumagamit ng "virtual" na file system na may mga kakayahan sa pag-bersyon na may kakayahang subaybayan ang mga pagbabago sa paglipas ng panahon sa buong istruktura ng direktoryo
  2. Totoong kwento mga bersyon. SVN ginagawang posible na magdagdag, magtanggal, kopyahin at palitan ang pangalan ng parehong mga file at direktoryo. Bukod dito, ang bawat bagong idinagdag na file ay nagsisimula sa buhay mula sa simula, pinapanatili ang sarili nitong kasaysayan ng mga pagbabago
  3. Atomic na gumawa ng mga pagbabago. Ang bawat hanay ng mga pagbabago ay maaaring napupunta nang buo sa repositoryo, o hindi natatapos doon. Yung. kung, kapag gumawa ng mga pagbabago sa proyekto, may naganap na error sa pagproseso ng file, kung gayon ang mga pagbabago sa buong proyekto ay hindi gagawin
  4. Metadata na may mga bersyon. Ang bawat file at direktoryo ay may sariling hanay ng mga katangian, na kinakatawan ng isang pangalan at isang halaga. Maaari kang lumikha at mag-save ng anumang kinakailangang pares ng mga pangalan ng property at ang kanilang mga halaga. Ang mga katangian ng file ay kasing-bersyon ng kanilang mga nilalaman
  5. Isang pinag-isang paraan ng pagtatrabaho sa data. SVN nakakakita ng mga pagkakaiba sa pagitan ng mga file gamit ang isang espesyal na binary algorithm na gumagana nang pantay sa parehong mga text at binary na file. Ang mga file ay isinulat sa imbakan sa isang naka-compress na anyo anuman ang kanilang uri, at ang mga pagkakaiba sa pagitan ng mga indibidwal na bersyon ay maaaring maipadala sa network sa parehong direksyon
  6. Mga mabisang sangay at tag. SVN lumilikha ng mga sangay at tag sa pamamagitan lamang ng pagkopya ng isang proyekto, gamit ang mekanismong katulad ng mga hard link sa mga file system. Salamat dito, ang mga operasyon ng paglikha ng mga sangay at mga tag ay tumatagal ng kaunting oras.


Listahan ng mga pangunahing termino

  1. Imbakan(imbakan) ay isang sentralisadong repositoryo ng mga source code, working materials at dokumentasyon. Ang anumang bilang ng mga kliyente ay kumonekta sa imbakan at basahin o isulat ang mga file na ito
  2. gumaganang kopya/gumaganang kopya(WC) ay isang regular na puno ng mga direktoryo sa isang computer na naglalaman ng isang set ng mga file para sa pagtatrabaho sa isang proyekto. Ang mga pagbabago sa gumaganang kopya ay hindi magagamit sa iba pang mga gumagamit ng repositoryo hanggang sa maisagawa ang mga ito.
  3. Baul- pangunahing direksyon ng pag-unlad
  4. Sangay Ang (“Sangay”) ay isang direksyon ng pag-unlad na umiiral nang hiwalay sa ibang direksyon, ngunit may isang karaniwang kasaysayan dito. Palaging nagsisimula ang isang sangay bilang isang kopya ng isang bagay at gumagalaw mula sa puntong iyon, na lumilikha ng sarili nitong kasaysayan
  5. Tag Ang (“Label”) ay isang tahasang piniling bersyon ng mga file ng proyekto sa isang tiyak na punto ng oras, sa pamamagitan ng paglikha ng isang hiwalay na folder.
  6. Rebisyon— revision number ng repository, sa loob ng repository ang revision number ay isang natatanging value
  7. Tignan mo- isang team na nagsasagawa ng paunang pagtanggap ng proyekto mula sa repository sa WC.
  8. Mangako- isang command na gumagawa ng mga pagbabago sa mga project file sa WC sa Repository.
  9. Update- isang command na nag-a-update ng mga project file sa WC mula sa repository
  10. Ibalik- isang utos na nag-aalis ng anumang mga pagbabago sa mga file ng proyekto sa WC batay sa numero ng rebisyon ng repositoryo.
  11. Pagsamahin- isang utos na pinagsasama-sama ang mga file mula sa iba't ibang sangay ng proyekto at inilalagay ang resulta ng pagsasanib sa WC.
  12. Salungatan- isang sitwasyon na lumitaw kapag gumagawa ng mga pagbabago, kapag ang parehong mga file ay binago ng ilang mga developer.
  13. Lutasin- isang hanay ng mga patakaran para sa paglutas ng mga umuusbong na salungatan.
  14. Angkat- isang utos para sa mabilis na pagkopya ng isang puno ng mga file sa Repository.
  15. I-export- ang utos para sa pag-export ng isang proyekto ay naiiba sa pag-checkout dahil hindi ito lumilikha ng impormasyon ng serbisyo sa mga folder ng proyekto.
  16. Lumipat- isang utos na nagpapalit ng WC sa isa pang sangay ng pag-unlad.
  17. Lumikha, Idagdag, Tanggalin, Kopya, Ilipat, Palitan ang pangalan- mga utos para sa pamamahala ng mga file at folder sa repositoryo o WC.

Software

Nagtatrabaho sa repositoryo SVN sinuri batay sa software PagongSVN

I-extract

Svn checkout [-depth ARG] [--ignore-externals] [-r rev] URL PATH

Kung ang checkbox ay may check Laktawan ang panlabas

Kung kumukuha ka ng partikular na rebisyon, tukuyin ito pagkatapos ng URL gamit ang -r parameter.

Update

Svn info URL_working_copy svn update [-r rev] PATH

Ang pag-update ng maraming item ay kasalukuyang hindi isang atomic na operasyon sa Subversion. Samakatuwid, unang hinanap ng TortoiseSVN ang nangungunang rebisyon (HEAD) sa repositoryo at pagkatapos ay ina-update ang lahat ng item sa rebisyong iyon upang maiwasan ang paggawa ng gumaganang kopya na may magkakahalong rebisyon.

Kung isang item lang ang pipiliin para i-update, o ang mga napiling item ay hindi lahat mula sa iisang repository, mag-a-update lang si TortoiseSVN sa nangungunang rebisyon.

Walang mga opsyon sa command line na ginagamit dito. Update sa rebisyon nagpapatupad din ng utos sa pag-update, ngunit nag-aalok ng higit pang pag-andar.

Update sa rebisyon

Svn info URL_working_copy svn update [-r rev] [-depth ARG] [--ignore-externals] PATH

Ang mga item ng depth combo box ay nauugnay sa -depth na argumento.

Kung ang checkbox ay may check Laktawan ang panlabas, gamitin ang --ignore-externals na opsyon.

Ayusin

Sa TortoiseSVN, ang commit dialog ay gumagamit ng ilang Subversion command. Ang unang yugto ay isang pagsusuri sa katayuan, na tumutukoy sa mga elemento ng iyong gumaganang kopya na posibleng gawin. Maaari mong i-browse ang listahang ito, ihambing ang mga file sa kanilang base, at piliin ang mga item na gusto mong isama sa commit.

Svn status -v PATH

Kung ang checkbox ay may check

Kung mamarkahan mo ang anumang hindi na-version na mga file at folder, ang mga item na iyon ay idaragdag muna sa iyong gumaganang kopya.

Svn magdagdag ng PATH...

Kapag na-click mo ang OK, ang Subversion ay magsisimulang isagawa ang commit. Kung iiwan mo ang lahat ng mga checkbox ng file sa kanilang default na estado, ang TortoiseSVN ay gumagamit ng isang solong recursive commit ng gumaganang kopya. Kung na-unmark mo ang ilang mga file, dapat gamitin ang non-recursive commit (-N) at dapat tukuyin ang bawat path nang paisa-isa sa command line para sa pag-aayos.

Svn commit -m "LogMessage" [-depth ARG] [--no-unlock] PATH...

Ang LogMessage dito ay kumakatawan sa nilalaman ng log message input field. Baka walang laman.

Pagkakaiba

Svn diff PATH

Kung gagamitin mo ang Diff command mula sa pangunahing menu ng konteksto, ihahambing mo ang binagong file sa base na rebisyon nito. Ginagawa rin ito ng output mula sa ICS ng command sa itaas at gumagawa ng output sa format ng pinagsamang mga pagkakaiba. Gayunpaman, hindi ito ginagamit ng TortoiseSVN. Gumagamit ang TortoiseSVN ng TortoiseMerge (o isang diff program na iyong pinili) upang biswal na magpakita ng mga pagkakaiba sa pagitan ng mga text file, kaya walang direktang katumbas sa SVN.

Maaari mo ring ihambing ang anumang dalawang file gamit ang TortoiseSVN, hindi alintana kung nasa ilalim ng kontrol ng bersyon ang mga ito. Pinapakain lang ni TortoiseSVN ang dalawang file na ito sa napiling diff program at hinahayaan itong matukoy kung nasaan ang mga pagkakaiba.

Magasin

Svn log -v -r 0:N --limit 100 [--stop-on-copy] PATH o svn log -v -r M:N [--stop-on-copy] PATH

Bilang default, sinusubukan ni TortoiseSVN na mag-extract ng 100 log message gamit ang --limit method. Kung ang mga pag-install ay pinilit na gamitin ang mga lumang API, pagkatapos ay ang pangalawang form ay ginagamit upang kunin ang mga mensahe ng log para sa 100 mga rebisyon mula sa repositoryo.

Kung ang checkbox ay may check Huminto sa kopyahin/palitan ang pangalan, gamitin ang --stop-on-copy na opsyon.

Sinusuri ang mga pagbabago

Svn status -v PATH o svn status -u -v PATH

Ang paunang pagsusuri sa katayuan ay tumitingin lamang sa iyong gumaganang kopya. Kung mag-click ka sa Suriin ang imbakan, pagkatapos ay susuriin din ang repositoryo upang makita kung aling mga file ang babaguhin ng pag-update, at nangangailangan ito ng opsyong -u.

Kung ang checkbox ay may check Ipakita ang mga hindi nabagong file, TortoiseSVN ay magpapakita din ng mga hindi nabagong file at mga folder sa gumaganang hierarchy ng kopya, na iginagalang ang mga panuntunan sa pagwawalang-bahala. Ang partikular na pag-aari na ito ay walang direktang katumbas sa Subversion, dahil ang svn status command ay hindi napupunta sa mga hindi naka-version na folder.

Grap ng rebisyon

Ang revision graph ay isang feature na ibinigay lamang ng TortoiseSVN. Walang katumbas sa command line client.

Ano ang ginagawa ng TortoiseSVN:

Svn info URL_working_copy svn log -v URL

kung nasaan ang URL ugat storage, at pagkatapos ay i-parse ang ibinalik na data.

Storage Explorer

Svn info Working_copy URL svn list [-r rev] -v URL

Maaari mong gamitin ang svn info para tukuyin ang repository root: ito ang pinakamataas na antas na ipinapakita sa repository browser. Hindi ka maaaring umakyat sa antas na ito. Gayundin, ibinabalik ng command na ito ang lahat ng impormasyon ng lock na ipinapakita sa Storage Explorer.

Ang pagtawag sa svn list ay maglilista ng mga nilalaman ng folder, para sa tinukoy na URL at rebisyon.

I-edit ang mga salungatan

Ang utos na ito ay walang katumbas sa ICS. Tinatawag itong TortoiseMerge o panlabas na kasangkapan three-way diff/merge para tingnan ang mga file na kasangkot sa conflict at piliin ang mga linyang dapat gamitin.

Naayos na

Nalutas ni Svn ang PATH

Palitan ang pangalan

Svn palitan ang pangalan ng CURRENT_PATH NEW_PATH

Tanggalin

Svn tanggalin ang PATH

Alisin ang mga pagbabago

Svn status -v PATH

Ang unang yugto ay isang pagsusuri sa katayuan, pagtukoy ng mga item sa iyong gumaganang kopya na posibleng maalis ang mga pagbabago. Maaari mong tingnan ang listahan, ihambing ang mga file sa database at piliin ang mga elemento kung saan mo gustong alisin ang mga pagbabago.

Kapag na-click mo ang OK, aalisin ng Subversion ang mga pagbabago. Kung iiwan mo ang lahat ng mga flag ng pagpili ng file sa kanilang default na estado, ang TortoiseSVN ay gumagamit ng isang solong recursive (-R) na pag-undo ng mga pagbabago sa gumaganang kopya. Kung alisan mo ng check ang ilang mga file, ang bawat path ay dapat na isa-isang tukuyin sa command line upang maalis ang mga pagbabago.

Ibalik ang [-R] PATH...

Paglilinis

Svn paglilinis ng PATH

I-block

Svn status -v PATH

Ang unang yugto ay isang pagsusuri sa katayuan, na tumutukoy sa mga file sa iyong gumaganang kopya na posibleng ma-lock. Maaari mong piliin ang mga item na gusto mong i-block.

Svn lock -m "LockMessage" [--force] PATH...

Ang LockMessage ay ang nilalaman ng field ng lock message. Baka walang laman.

Kung ang checkbox ay may check Harangin ang mga kandado, gamitin ang --force na opsyon.

Pag-unblock

I-unlock ang PATH

Sangay/Label

Svn copy -m "LogMessage" URL URL o svn copy -m "LogMessage" o svn copy -m "LogMessage" PATH URL

Ang dialog ng Branch/Label ay nagsasagawa ng kopya sa storage. Mayroong 3 switchable buttons:

  • Nangungunang rebisyon sa repositoryo (HEAD)
  • Ang tinukoy na rebisyon sa repositoryo
  • gumaganang kopya

na tumutugma sa tatlong opsyon sa command line sa itaas.

magdagdag - Nagdaragdag ng mga file, direktoryo at simbolikong mga link, na minarkahan ang mga ito para sa pagsasama sa ibang pagkakataon sa repositoryo. Kapag namarkahan na, mada-download ang mga ito at idinagdag sa repository sa unang pagkakataon na maisagawa ang mga pagbabago. Kung nagdagdag ka ng isang bagay, ngunit pagkatapos ay nagbago ang iyong isip bago ito i-pin, maaari mong alisin ang add mark gamit ang svn revert subcommand.
svn magdagdag ng PATH...
$svn magdagdag ng testdir

sisihin (papuri, i-annotate, ann) – Ipinapakita ang may-akda at editor ng bawat linya para sa mga tinukoy na file o URL. Ang bawat linya ng teksto ay nagsisimula sa pangalan ng may-akda (username) at numero ng rebisyon. Ipinapahiwatig nito kung sino at kailan huling binago ang linyang ito.
svn sisihin ang TARGET[@REV]...
$ svn sisihin http://svn.red-bean.com/repos/test/readme.txt

pusa – Ini-print ang mga nilalaman ng mga tinukoy na file o URL. Upang ilista ang mga nilalaman ng mga direktoryo, gamitin ang svn list.
svn cat TARGET[@REV]…
$ svn cat http://svn.red-bean.com/repos/test/readme.txt

checkout (co) – Lumilikha ng gumaganang kopya batay sa data sa repositoryo. Kung aalisin ang PATH, ang batayang pangalan ng URL ay gagamitin bilang pangalan para sa gumaganang direktoryo ng kopya. Kung maraming URL ang ibinigay, ang mga kaukulang kopya ay gagawin sa PATH subdirectory, bawat isa sa sarili nitong direktoryo na hango sa base na pangalan ng URL.
svn checkout URL[@REV]…
svn checkout svn://svn.ru2web.ru/ru2web/branches/www-01/ /usr/home/vasia/ru2web.ru/app/

paglilinis – Paulit-ulit na nililinis ang gumaganang kopya, inaalis ang mga natitira pang kandado mula sa mga hindi nakumpletong operasyon. Sa sandaling makatagpo ka ng error na "naka-lock ang gumaganang kopya," patakbuhin ang subcommand na ito upang alisin ang mga lumang lock at dalhin ang gumaganang kopya sa isang gumaganang estado.

Kung sa ilang kadahilanan ay nabigo ang pagpapatakbo ng utos ng pag-update ng svn dahil sa mga problema sa pagpapatakbo ng panlabas na diff program (halimbawa, na-click ko ang isang bagay na mali dito o nagkaroon ng pagkabigo sa network), kailangan mong itakda ang –diff3-cmd parameter sa payagan ang kopya na linisin upang makumpleto ang lahat ng pagsali gamit ang isang panlabas na diff program. Maaari mo ring tukuyin ang direktoryo ng pagsasaayos gamit ang –config-dir na opsyon, ngunit mag-ingat na huwag gamitin nang labis ang mga opsyong ito.

commit (ci) – Ipinapadala ang mga pagbabagong ginawa mo sa gumaganang kopya sa repository upang mai-save doon. Kung hindi mo gagamitin ang alinman sa –file o –message na opsyon, maglulunsad ang svn ng panlabas na editor upang bumuo ng komento. Basahin ang paglalarawan ng editor-cmd parameter sa "Config".
Ipapadala ng svn commit ang lahat ng recursively found lock label sa storage facility at ia-unlock ang mga mapagkukunang naaayon sa mga label na ito kung ang –no-unlock na parameter ay hindi tinukoy. Ang "lugar ng paghahanap" ay tinukoy sa pamamagitan ng pagtukoy sa PATH.
svn commit

kopya (cp) – Kinokopya ang isang file sa isang gumaganang kopya o sa storage. Ang SRC at DST ay maaaring mga path sa loob ng gumaganang kopya o mga URL sa loob ng repositoryo.
svn kopyahin ang SRC DST

delete (del, remove, rm) – Pagtanggal ng item mula sa gumaganang kopya o repository.
svn tanggalin ang PATH...
svn tanggalin ang URL...

diff (di) - Ipinapakita ang mga pagkakaiba sa pagitan ng gumaganang kopya at ang repositoryo.
$ svn diff http://svn.collab.net/repos/svn/trunk/COMMITTERS@3000 http://svn.collab.net/repos/svn/trunk/COMMITTERS@3500

i-export – I-export ang isang malinis na puno ng direktoryo (walang .svn folder).

tulong (?, h) – Tulong.

import - Nag-commit ng isang hindi nabagong file o puno sa repositoryo.
svn import URL

impormasyon – Ipakita ang impormasyon tungkol sa isang lokal o malayong elemento.
svn impormasyon

list (ls) – Listahan ng mga direktoryo sa repositoryo.
svnlist...]
$ svn listahan http://svn.red-bean.com/repos/test/support

lock – I-lock ang gumaganang kopya sa repository upang walang ibang user na makakagawa ng mga pagbabago sa ibinigay na landas.
svn lock TARGET...
$ svn lock tree.jpg house.jpg

log – Ipakita ang mga mensahe ng log.
svnlog
svn log URL
$svnlog

merge – Ilapat ang mga pagkakaiba sa pagitan ng dalawang pinagmumulan.
$ svn merge -r 250: HEAD http://svn.red-bean.com/repos/branches/my-branch

mkdir - Lumikha ng isang direktoryo sa isang bersyon na kinokontrol na imbakan.
$svn mkdir newdir

ilipat (mv, palitan ang pangalan, ren) – Ilipat ang isang file o direktoryo.
svn ilipat ang SRC DST

propdel (pdel, pd) – Alisin ang mga katangian mula sa mga file, direktoryo o rebisyon.
svn propdel PROPNAME
svn propdel PROPNAME –revprop -r REV

propedit (pedit, pe)
propget (pget, pg)
proplist (plist, pl)
propset (pset, ps)

nalutas - Alisin ang "mga salungatan" mula sa gumaganang kopya ng mga file o direktoryo.
svn nalutas ang PATH...

ibalik - Ibalik ang lahat ng lokal na pagbabago.
$ svn ibalik ang myprj.phtml

status (stat, st) – Status ng gumaganang kopya ng mga file o direktoryo.
$svn status wc

switch (sw) – I-update ang gumaganang kopya sa ibang URL.

i-unlock – Ina-unlock ang gumaganang kopya.

update (up) – Ina-update ang iyong gumaganang kopya.