Práce s websvn a svn

Základní práce s repozitáři

 

  • Zkopírování obsahu do lokálního repozitáře

Pro zkopírování obsahu repozitáře do lokálního adresáře jsou následující příkazy:

Na užiavetlských počítačích je nutné nejprve nainstalovat balíček SVN a poté do .bashrc přidat následující:

export SVN_EDITOR=<název vašeho editoru>

  • svn checkout file :///var/svn/SIFEL zkopíruje repozitář do aktuálního adresáře, platí pouze na CML ,

svn checkout svn+ssh://cml.fsv.cvut.cz/var/svn/SIFEL pokud potřebujete zkopírovat repozitář na váš lokální počítač

  • Update pracovní verze na nejnovější z repozitáře

svn update stejná syntaxe jako předchozí

V pracovním adresáři aktualizuje adresář na nejnovější verzi, která se nachází v repozitáři. V případě, že některé souboru jsou již změněny i v pracovním adresáři i v repozitori, tak se svn pokusí o automatický merge těhle dvou verzí. V případě, že se mu to nepodaří, vznikne konflikt, který je nutno manuálně vyřešit (více o těhle situacích níže).

  • Nahrání pracovní verze do repozitáře

svn commit stejná syntaxe jako předchozí

V pracovním adresáři zkopíruje veškeré změněné soubory do repozitáře. Pro zkopírování jednotlivých souborů je nutné zadat za příkaz soubory, které se mají zkopírovat do repozitáře.

  • Manuální řešení konfliktů

V případě, že při updatu vznikne konflikt (soubor v pracovním adresáři byl změněn a zároveň byl tenhle soubor nekým jiným aktualizován v repozitáři) je nutné ho řešit manuálně (pro určité typy souborů a změny je svn schopen vyřešit konflikty i automaticky). Pro každý konfliktní soubor vytvoři svn 3 soubory:

  • filename.mine - toto je soubor z pracovního před vykonaným updatem, t.j. bez značek konfliktů
  • filename.rOLDREV - toto je soubor původni verze souboru před tím jak byla změněna v pracovnim adresari
  • filename.rNEWREV - toto je verze souboru, která se nachází v repozitáři

Za pomoci těchto souborů třeba vyřesit konflikt souborů. V momentě kdy je konflikt vyřešen, třeba vykonat:

svn resolved filename

čímž se vymažou tři docasné soubory a označi se konflikt za vyřesen.

Pro více informací je tu dokumentace k SVN: http://svnbook.red-bean.com/en/1.1/svn-book.html#svn-ch-3