Oct 4 2010

SVN i symlinki


Some of selected resources were not committed.
svn: Commit failed (details follow):
svn: Entry ‘/home/czlowiek/workspace/project/files/system-info.data’ has unexpectedly changed special status

Znasz to? To czytaj dalej.

Rozwiazanie lamerskie to usuniecie niepoprawnego i wgranie poprawnego pliku do repo. Ale jak jest “ich” wiecej – “tych” plikow? Zonk.

Jak wiec bez usuwania i ponownego wgrywania, zmienic wartosc status specjalny pliku. Nie jest to takie proste ;) nalezy bowiem… odswiezyc repo i zainstalowac paczke svn, jezeli jeszcze nie ma

czlowiek@maszyna:~$ sudo apt-get update
czlowiek@maszyna:~$ sudo apt-get install subversion

Nastepnie udac sie do katalogu projektu (albo wpisywac pelna sciezke – jak kto woli)

czlowiek@maszyna:~$ cd /home/czlowiek/workspace/project/files/

no i zalozylismy sobie :) , ze “uszkodzone” pliki projektu svn znajduja sie w katalogu /home/czlowiek/workspace/project/files/

Teraz zmieniamy status svn:special pliku

Przypadek 1

Plik logo.png byl symlinkiem i zostal zamieniony na fizyczny, rozwiazaniem bedzie wiec usuniecie statusu svn:special

Upewniamy sie co do wlasciwosci pliku logo.png

czlowiek@maszyna:~/workspace/project/files/$ svn proplist logo.png
Atrybuty dla 'logo.png':
  svn:special
  svn:mime-type

Tak ma atrybut svn:special, usuwamy wiec

czlowiek@maszyna:~/workspace/project/files/$ svn propdel svn:special logo.png
atrybut 'svn:special' usunięty z 'logo.png'.

Sprawdzamy czy oby na pewno ;)

czlowiek@maszyna:~/workspace/project/files/$ svn proplist logo.png
Atrybuty dla 'logo.png':
  svn:mime-type

Przypadek 2

Plik logo-icon.png byl fizycznym i zostal zamieniony na symlinka, rozwiazaniem bedzie wiec dodanie statusu svn:special

czlowiek@maszyna:~/workspace/project/files/$ svn propset svn:special ON logo-icon.png
atrybut 'svn:special' ustawiony dla 'logo-icon.png'

Done, odswiezamy projekt w Eclipse i komitujemy…


Apr 12 2010

SVN reconnect po przeinstalowaniu systemu

Jezeli juz z jakiegos dziwnego powodu, przeinstalujemy Linuxa, to pojawia sie kwestia ponownego podlaczenia uslug do juz istniejacych danych. Tak jest na przyklad z repo SVN, i tu nalezy …

Zainstalowac subversion

czlowiek@maszyna:~$ sudo apt-get install subversion

I teoretycznie tyle :) .
Jezeli zas, mamy problem z prawami – taki jakis Permission denied – to nalezy …

Grepnac proces SVNa i namierzyc wlasciciela (tu czlowiek)

czlowiek@maszyna:~$ ps faux | grep svnserve
czlowiek      29481  0.0  0.0   3336   800 pts/0    S+   20:45   0:00      \_ grep svnserve

Zmienic ownera repo (tu sciezka /home/svn/)

czlowiek@maszyna:~$ cd /home/svn
czlowiek@maszyna:/home/svn$ sudo chown czlowiek: -R *

I to raczej wystarczy. Mozna oczywiscie bawic sie z Apache, instalowac jakies moduly, itp… ale po co, jezeli chcemy skorzystac jedynie z Eclipse?