WikiPrint - from Polar Technologies

Uruchamianie SVN na kopii plików katalogu repository

Niniejszą procedurę stosuje się, gdy posiadamy kopię plików w katalogu repository z przenoszonego serwera lecz z jakichś powodów nie posiadamy kopii samego SVNa i nie zależy nam na poprzednich wersjach plików a jedynie na ich ostatnich aktualnych wersjach.

Czyszczenie repozytorium oraz lokalnej bazy

cd /home/<user>
rm -rf repos
rm -rf repository/.svn

Tworzenie bazy repozytorium

svnadmin create repos
cd repository
svn checkout file:///home/<user>/repos .

Następnym krokiem jest wyszukwanie oraz usunięcie wszystkich katalogów .svn z repository.

# Wyszukiwanie
find . -name .svn
# Usuwanie
find . -name .svn -type d -print0 | xargs -0 rm -r --

Wykonujemy commit wszystkich plików znajdujących się w katalogu repository_2 oraz nadajemy uprawnienia dla użytkownika www-data

svn add repository_2
cd repository_2
svn ci -m "Komentarz"
cd ..
chown -R www-data:edokumenty repository repos
chmod -R u+rwX,g+rwX,o-rwx repository repos

Naprawa SVN po aktualizacji systemu Linux

W przypadku gdy po aktualizacji dystrybucji Linuxa podczas edycji plików w eDokumentach a następnie po ich zatwierdzaniu 'commit' otrzymujemy poniższy komunikat

$ svn status
svn: E155036: Please see the 'svn upgrade' command
svn: E155036: Working copy '/home/edokumenty/repository' is too old (format 10, create
d by Subversion 1.6)
Wszystkie czynności wykonujemy na użytkowniku www-data, w przypadku wykonywania komend z innego użytkownika po zakończeniu prac należy zweryfikować uprawnienia do katalogów.
$}}}
W tym celu należy zaktualizować aktywną kopię plików. W tym celu używamy polecenia 
{{{
svn upgrade
}}}
które wykonujemy na katalogu z aktywną kopia repozytorium czyli - /home/edokumenty/repository.
Ponownie sprawdzamy stan repozytorium
{{{
svn status
lub 
svn st}}}

Ostatnim poleceniem jest 
{{{svan cleanup}}}
}}}