SVN

BACKUP SVN
Kopia całego repozytorium SVN (dump):

svnadmin dump /var/svn/test > /root/backup/svn/`date +’%d%m%y’`.dump

Kopia ostatniej wersji SVN:

svnadmin dump REPOS_PATH [-r LOWER[:UPPER]] [–incremental]

Options

–deltas–incremental–quiet (-q)–revision (-r) REV

Weryfikujemy czy repozytorium nie zawiera błędów

svnadmin verify /var/svn/test

Sprawdzamy numer Revision na Serwerze

svnadmin verify -r HEAD / myrepo

Sprawdzamy Revision od 100 do 200

svnadmin verify -r100:200 /var/svn/myrepo

Sprawdzamy numer Revision na kopii roboczej
Prawym klawiszem myszki na katalog SVNTortoiseSVN->Show log

Zrzucamy ostatnią wersję SVN:

svnadmin dump -r100-200 svn.dump
tar -czf svn.tar.gz svn.dump

Kasowanie historii od Revision 0 do 9000.

# svnadmin dump /path_current/svn/repo -r9000:10000 > svn.dump# svnadmin create /path_new/svn/repo# svnadmin load /path_new/svn/repo < svn.dump

Problem: svn nie pyta o haslo użytkownika

Rozwiązanie: jeżeli już wprowadziłeœ login i hasło to, aby pojawił się znowu monit musisz usunąć katalog .subversion # rm -r /root/.subversion

Problem: svn: Serwer wysłał nieoczekiwaną wartoœć powrotną (405 Method Not Allowed) w odpowiedzi na żądanie PROPFIND dla /test

Rozwiązanie: sprawdź nazwęw pliku /etc/apache2/mods-available/dav_svn.conf a następnie /etc/init.d/apache2 restart

Problem: svn: Serwer wysłał nieoczekiwaną wartoœć powrotną (403 Forbidden) w odpowiedzi na żądanie OPTIONS dla http://localhost/bestnet

Rozwiązanie:

Problem: DATABASE DISK IMAGE MALFORMED

Rozwiązanie:
1) Możliwe uszkodzenie samej bazy danych na dysku lokalnym

2) Możliwe uszkodzenie na serverze
a) Once you see the „Database disk image malformed” error, your database is broken and cannot be fully repaired. See e.g. http://www.sqlite.org/faq.html#q21

b) If you were using SQLite directly, you could recover *some* data (some tables) from such broken database (using SQLite database dump and load commands). In your case that is unacceptable, because subversion cannot use partial data. Full database recovery is still not possible.

Thus the only way is to create a new subversion repository and restore it from your backups.

Even if you do not have backups, I think that the current repository is still readable. You can try to create a copy of it, using svnadmin dump + load, or svnsync. See the SVN Book for details.

źródło: http://readlist.com/lists/subversion.tigris.org/users/10/51087.html

Problem: Pyta o login i haslo ale zwraca komunikat svn: Could not open the requested SVN filesystem

Rozwiązanie: Sprawdź nazwę SVNPath /var/svn/test w pliku /etc/apache2/mods-available/dav_svn.conf a następnie /etc/init.d/apache2 restart

Problem: Cleanup failed to process the following paths: -C:\Project\Published Your .svn/tmp directory may be missing or corrupt; run ‚svn cleanup’ and try again Can’t open file ‚C:\Project\Published\.svn\tmp\entries’: The system cannot find the path specified
Rozwiązanie:
1) Usuń plik/katalog z błędem i zrób ponownie Update
2) Spróbuj wykonać Clean up
3) Usuń z głównego katalogu .svn, zrób checkout (główna ścieżka, główny katalog np. domena.pl/yoursvn, d:\server), potwierdź YES (zacznie się wersjonowanie plików i dodawanie brakujących katalogów/plików)

Problem: Podczas restartowania apache otrzymujesz komunikat
Restarting web server: apache2[Thu Oct 07 21:48:57 2010] [warn] _default_ VirtualHost overlap on port 443, the first has precedence

… waiting [Thu Oct 07 21:48:58 2010] [warn] _default_ VirtualHost overlap on port 443, the first has precedence

Rozwiązanie: Zahaszuj w pliku /etc/apache2/sites-available/default
vim /etc/apache2/sites-available/default
ServerAdmin webmaster@localhost
SSLEngine on
SSLCertificateFile /etc/apache2/apache.pem

Zarządzanie svn na komputerze lokalnym

1) Œciągnij i zainstaluj najnowszą wersję svn (wybierz odpowiednią wersję dla Twojego systemu 32 lub 64 bitową) oraz paczkę z językiem -> http://tortoisesvn.net/downloads
2) tworzymy katalog na komputerze lokalnym o dowolnej nazwie np. Server
3) klikamy prawy przycisk myszy na katalog Server i dalej TortoiseSVN -> Repo-browser -> wpisujemy svn+ssh://user@host/svn_directory
4) akceptujemy na stałe certfikat, podajemy login i hasło
5) prawy przycisk myszy -> Create folder -> trunk

prawy przycisk myszy -> Create folder -> releases

6) pobieranie zawartoœći z servera do katalogu ekomis na komputerze lokalnym

prawy przycisk myszy na katalog bestnet -> wybieramy SVN Checkout…

Informacje dodatkowe:
SVN Update – służy do pobierania zawartoœci z serwera (download)
SVN Commit… – służy do wrzucania zawartoœci na serwer (upload)

TortoiseSVN: – Show log -> pokazuje wszystkie logi (wersje repozytorium)

– Update to revision -> wpisujesz nr revision, do którego chcesz się cofnąć

Potrzebne programy:
tortoiseSVN -> http://tortoisesvn.net/downloads
nakładka polska na tortoiseSVN -> http://tortoisesvn.net/downloads
PuTTY -> http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

Potrzebne pliki:
private_key.ppk -> sprawdŸ jak wygenerować plik private_key.ppk

Nakładka językowa na TortoiseSVN.
Step 1) Zainstaluj nakładkę językową do programu TortoiseSVN:
– kliknij Next
– kliknij Finish

Step 3) Zmiana języka
– kliknij pkm na wolny obszar pulpitu
– wybierz TortoiseSVN -> Ustawienia
– Language -> wybierz z listy swój język
– kliknij OK

4) Ustawienie klucza i sesji w Putty dla TortoiseSVN
– zaznacz putty.exe i privat_key.ppk
– prawy klawisz myszy Kopiuj
– wejdŸ do katalogu C:\Program Files\
– prawy klawisz myszy Nowy->Folder
– wpisz Putty
– prawy klawisz myszy na katalog Putty klknij Wklej
– wejdŸ do katalogu Putty

5) Konfiguracja aplikacji putty
– uruchom putty.exe
– Connection

– Data- Auto-login username: user- SSH- Auth- Privare key file for authentication: Browse (wybieramy private_key.ppk)

– Session

– Host Name (or IP address): example.com- Port: 22- Connection Type: SSH- Saved Sessions: example

– naciœnij przycisk Save
– naciœnij Cancel

6) Tworzymy katalog Backup i konfigurujemy Tortoise
– prawy klawisz myszy Nowy->Folder
– wpisujemy Backup
– prawy klawisz myszy SVN Pobierz
– Adres URL repozytorium: svn+ssh://example/svn_directory
– klikamy OK
– Store key in cash: Tak

7) Obsługa SVN
SVN Update – służy do pobierania zawartoœci z serwera (Uaktualnij)
SVN Commit… – służy do wrzucania zawartoœci na serwer (ZatwierdŸ zmiany)
SVN Show logs – pokaż wszystkie zmiany w katalogu/pliku
POPRZEDNIA WERSJA MA BYĆ AKTUALNĄ
kliknij prawym myszki na katalog lub plik -> TortoiseSVN -> Merge -> wybierz opcję “Merge two different trees” -> w sekcji To: wpisz wcześniejszą rewizję lub kliknij Show log, by wybrać z listy -> Dalej -> Testuj merge -> jeżeli wszystko przebiegło prawidłowo naciśnij Merge

TortoiseSVN: Show log -> pokazuje wszystkie logi (wersje repozytorium)

Update to revision -> wpisz nr, do którego chcesz się cofnąć

PODSTAWY UŻYTKOWANIA: To move a file or set of files using tortoise, right-click-and-drag the target files to their destination and release the right mouse button. The popup menu will have a ‚SVN move versioned files here’ option. Note that the destination folder must have already been added to the repository for the ‚SVN move versioned files here’ option to appear.

REPO BROWSER http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-repobrowser.html
I you need to work directly on the repository, without having a working copy. Just as the explorer and the icon overlays allow you to view your working copy, so the Repository Browser allows you to view the structure and status of the repository.