Struktura repozytorium

Struktura automatowego repozytorium SVN jest taka:
		svn
		|____packets
		| |____llncs.cls
		| |____logiclmcs.sty
		| |____logiclncs-thm.sty
		| |____logiclncs.sty
		| |____....
		|____papers
		| |____detbound
		| |____efinf
		| |____....
		|____people
		| |____bojan
		| |____pparys
		| |____szymtor
		| |____....
		| .
		| .
		| .
		

Stworzenie kopii repozytorium

  • Żeby pracować z SVN, należy wpierw stworzyć na swoim komputerze lokalną kopię jakiejś cześci repozytorium. Robi to komenda:
    				svn checkout svn+ssh://LOGIN@duch.mimuw.edu.pl/home/misc/semautomat/svn/ŹRÓDŁO CEL
    			
    gdzie

    Jak nie ściągać całego drzewa repozytorium?
    Załóżmy, że chcemy stworzyć nowy katalog nowak w katalogu people. Można w tym celu stworzyć kopię lokalną całego katalogu people, a następnie w niej stworzyć podkatalog nowak, ale wtedy ściągnięte zostaną katalogi wszystkich użytkowników.

    Rozwiązanie 1.
    Można stworzyć katalog w repozytorium bez tworzenia lokalnej kopii za pomocą komendy:
                                    svn mkdir svn+ssh://nowak@duch.mimuw.edu.pl/home/misc/automat/svn/people/nowak -m "stworzenie nowaka"
    			
    Rozwiązanie 2.
    Alternatywnie, można uniknąć ściągania całego katalogu people, robiąc checkout z argumentem -N (non-recursive). Łącznie, utworzenie nowego katalogu wygląda przykładowo tak.
    				svn checkout -N svn+ssh://nowak@duch.mimuw.edu.pl/home/misc/automat/svn/people mojakopiapeople
    				cd mojakopiapeople
    				svn mkdir nowak
    				svn commit -m "stworzenie nowaka"
    			

    Relokacja repozytorium

    Od 21.08.2013 konto automat zostało przemienione w semautomat. Żeby zaktualizować adres w posiadanej kopii roboczej, należy wykonać w katalogu kopii roboczej komendę:
    svn switch --relocate svn+ssh://LOGIN@duch.mimuw.edu.pl/home/misc/automat/svn svn+ssh://LOGIN@duch.mimuw.edu.pl/home/misc/semautomat/svn
    		

    Rutynowa praca z SVN

    Wyżej opisaną czynność wykonuje się tylko raz, przy tworzeniu danej kopii repozytorium (na jednym komputerze może być wiele kopii). Gdy lokalna kopia repozytorium już jest stworzona, praca ogranicza się do paru prostych komend, które się wykonuje wewnątrz katalogu będącego lokalną kopią.
    Poniżej cytat z
    dokumentacji SVN.

    Basic Work Cycle

    Subversion has numerous features, options, bells and whistles, but on a day-to-day basis, odds are that you will only use a few of them. In this section we'll run through the most common things that you might find yourself doing with Subversion in the course of a day's work.

    The typical work cycle looks like this:

    • Update your working copy

      • svn update

    • Make changes

      • svn add

      • svn delete

      • svn copy

      • svn move

    • Examine your changes

      • svn status

      • svn diff

      • svn revert

    • Merge others' changes into your working copy

      • svn update

      • svn resolved

    • Commit your changes

      • svn commit


    Szymon Toruńczyk
    Created: Sat Aug 15 18:53:30 MEST 2009