Subversion: Porovnání verzí
m Nová stránka: {{Výuka}} ==Stručný návod pro práci se systémem pro správu verzí Subversion== ::Domovská stránka projektu [http://subversion.tigris.org/ SVN]. ::Literatura: [http://svnbook... |
|||
Řádek 4: | Řádek 4: | ||
::Literatura: [http://svnbook.red-bean.com/ Version Control with Subversion]. | ::Literatura: [http://svnbook.red-bean.com/ Version Control with Subversion]. | ||
===Základní použití=== | ===Základní použití=== | ||
* Vytvoření | * Vytvoření repositáře | ||
svnadmin create cesta/k/ | svnadmin create cesta/k/repositari/repositar | ||
* Import dat do | * Import dat do repositáře | ||
svn import muj_adresar file:///cesta/k/repozitari/repozitar -m "Import dat" | svn import muj_adresar file:///cesta/k/repozitari/repozitar -m "Import dat" | ||
* Výpis obsahu | * Výpis obsahu repositáře | ||
svn list file:///cesta/k/repozitari/repozitar | svn list file:///cesta/k/repozitari/repozitar | ||
* Získání pracovní kopie repozitáře | * Získání pracovní kopie repozitáře | ||
svn checkout file:///cesta/k/repozitari/repozitar | svn checkout file:///cesta/k/repozitari/repozitar | ||
==== Základní pracovní cyklus ==== | |||
* aktualizace pracovní kopie | |||
<pre>svn update</pre> | |||
* změny v pracovní kopii | |||
svn add soubor # přidání souboru nebo adresáře - implicitně včetně podadresářů - do pracovní kopie | |||
svn rm soubor # vymazání souboru | |||
svn rmdir adresar # vymazání adresáře | |||
svn copy soubor # kopírování souboru nebo adresáře | |||
svn move soubor # přesun souboru nebo adresáře | |||
* zjištění změn v pracovní kopii | |||
svn status # parametry -v -u: podrobnější výpis | |||
# A - soubor je přidán do pracovní kopie | |||
# D - soubor je vymazán z pracovní kopie | |||
# M - soubor je změměn | |||
# C - soubor je v konfliktu (soubor byl modifikován a současně je v repozitáři novější verze tohoto souboru) | |||
# L - soubor je uzamčen (např při nedokončení aktualizace pracovní kopie - spusťte příkaz svn cleanup | |||
svn diff soubor # výpis změn v obsahu konkrétního souboru | |||
* zahození provedených změn v pracovní kopii | |||
svn revert soubor | |||
* řešení konfliktů, přijetí změn z repositáře | |||
svn update | |||
svn resolved soubor | |||
* publikování změn do repozitáře | |||
svn commit # -m 'zprava zveřejnění změn' | |||
# proměnná SVN_EDITOR nebo EDITOR určuje jaký editor bude spuštěn pro editaci zprávy | |||
# pokud není zadána pomocí parametru -m | |||
==== Řešení konfliktů==== | |||
Konfliktům můžeme předcházet používáním příkazu svn status -u. | |||
Typy konfliktů: | |||
* U - soubor neobsahuje lokální změny, ale byl změněn v repozitáři | |||
* G - lokálně změněný soubor byl změněn také v repositáři, ale změny se nepřekrývají a bylo automaticky provedeno sloučení | |||
* C - konflikt, který je nutné vyřešit editací (ručně): V tomto případě svn vytvoří soubory | |||
soubor.txt.mine # midifikovaný soubor pracovní kopie | |||
soubor.txt.r8 # soubor v revizi pracovní kopie | |||
soubor.txt.r9 # soubor v revizi repozitáře (HEAD revision) | |||
soubor.txt # soubor, kde jsou obě verze, ovšem nesloučené | |||
==== Historie revizí ==== | |||
svn log # parametrem -r 8 nebo -r 1:8 udáváme číslo revize | |||
svn cat -r 8 # vypisuje obsah souboru z revize 8 | |||
svn list -r 8 # vypisuje obsah aktualního adresáře takový, jaký byl v revizi 8 |
Verze z 8. 10. 2008, 19:37
Stručný návod pro práci se systémem pro správu verzí Subversion
- Domovská stránka projektu SVN.
- Literatura: Version Control with Subversion.
Základní použití
- Vytvoření repositáře
svnadmin create cesta/k/repositari/repositar
- Import dat do repositáře
svn import muj_adresar file:///cesta/k/repozitari/repozitar -m "Import dat"
- Výpis obsahu repositáře
svn list file:///cesta/k/repozitari/repozitar
- Získání pracovní kopie repozitáře
svn checkout file:///cesta/k/repozitari/repozitar
Základní pracovní cyklus
- aktualizace pracovní kopie
svn update
- změny v pracovní kopii
svn add soubor # přidání souboru nebo adresáře - implicitně včetně podadresářů - do pracovní kopie svn rm soubor # vymazání souboru svn rmdir adresar # vymazání adresáře svn copy soubor # kopírování souboru nebo adresáře svn move soubor # přesun souboru nebo adresáře
- zjištění změn v pracovní kopii
svn status # parametry -v -u: podrobnější výpis # A - soubor je přidán do pracovní kopie # D - soubor je vymazán z pracovní kopie # M - soubor je změměn # C - soubor je v konfliktu (soubor byl modifikován a současně je v repozitáři novější verze tohoto souboru) # L - soubor je uzamčen (např při nedokončení aktualizace pracovní kopie - spusťte příkaz svn cleanup svn diff soubor # výpis změn v obsahu konkrétního souboru
- zahození provedených změn v pracovní kopii
svn revert soubor
- řešení konfliktů, přijetí změn z repositáře
svn update svn resolved soubor
- publikování změn do repozitáře
svn commit # -m 'zprava zveřejnění změn' # proměnná SVN_EDITOR nebo EDITOR určuje jaký editor bude spuštěn pro editaci zprávy # pokud není zadána pomocí parametru -m
Řešení konfliktů
Konfliktům můžeme předcházet používáním příkazu svn status -u. Typy konfliktů:
- U - soubor neobsahuje lokální změny, ale byl změněn v repozitáři
- G - lokálně změněný soubor byl změněn také v repositáři, ale změny se nepřekrývají a bylo automaticky provedeno sloučení
- C - konflikt, který je nutné vyřešit editací (ručně): V tomto případě svn vytvoří soubory
soubor.txt.mine # midifikovaný soubor pracovní kopie soubor.txt.r8 # soubor v revizi pracovní kopie soubor.txt.r9 # soubor v revizi repozitáře (HEAD revision) soubor.txt # soubor, kde jsou obě verze, ovšem nesloučené
Historie revizí
svn log # parametrem -r 8 nebo -r 1:8 udáváme číslo revize svn cat -r 8 # vypisuje obsah souboru z revize 8 svn list -r 8 # vypisuje obsah aktualního adresáře takový, jaký byl v revizi 8