Trafiłem ostatnio na dziwny problem przy próbie commitowania zmian do repozytorim SVNowego. Mac OS wyświetla komunikat:

Can't move '.svn/tmp/entries' to '.svn/entries': Operation not permitted

i żadne zmiany nie trafiają na serwer. Przy kłopotach z SVNem pierwszym odruchem jest oczywiście svn cleanup, ale niestety tym razem nic to nie dało. Moja kopia robocza jest o tyle nietypowa, że znajduje się na pendrivie i jest od czasu do czasu używana również pod Windows.

Po kilku minutach szukania w Google okazało się, że problem nie jest (na szczęście) nietypowy, a rozwiązanie jest bardzo proste:

chflags -R nouchg .

w katalogu, w którym znajduje się kopia robocza.

Polecenie chflags zmienia różnego rodzaju znaczniki związane z plikami i katalogami (inne niż standardowe prawa dostępu i inne niż ACL). Co ciekawe, niektóre z nich umożliwiają nawet ochronę przed zapisem z konta roota - można je zmieniać tylko po uruchomieniu systemu w trybie single-user. Manual nie wyjaśnia zbyt dokładnie znaczenia poszczególnych opcji, lepszy opis można przeczytać tutaj .

0 komentarze: