Pozdrowienia,
Mam udział CIFS zamontowany na moim komputerze z systemem Linux (Fedora 11). Ten udział zawiera kopię roboczą Subversion, z którą pracuję lokalnie na zdalnym komputerze. Zdalna maszyna to Linux z systemem Samba.
Chcę teraz pracować z repozytorium na moim komputerze, więc nie muszę się logować na komputerze zdalnym, aby robić kontrole i aktualizacje. svn
Wydaje się jednak, że występują problemy z uprawnieniami podczas próby wykonania operacji na plikach w udziale.
np. (na moim komputerze)
$ svn update
svn: Can't open file '.svn/tempfile.tmp': Permission denied
Jednak gdy próbuję edytować ten sam plik w wierszu poleceń (np. Za pomocą vi
), działa dobrze i wydaje mi się, że mam pełne uprawnienia do odczytu / zapisu do tego pliku.
Próbowałem także zrobić nową kasę na moim komputerze w udziale:
$ svn co svn://10.212.52.226/project/trunk project
svn: Can't create directory 'project/.svn': Permission denied
Ale mogę to zrobić ręcznie:
$ mkdir project/.svn
... i działa.
Montuję udział w ten sposób:
mount.cifs //10.212.52.240/myname /mnt/mdev -o "uid=myname,gid=myname,password=mypass
Jestem więc właścicielem wszystkich plików w zamontowanym udziale.
Na razie mogę nadal używać subversion na zdalnym systemie, który nadal działa dobrze. Ale chciałbym, żeby to działało. Doceniam wszelkie twoje pomysły.
Dzięki
Edytować
Dzięki JohnnyLambada za sugestię użycia strace
. Oto odpowiedni bit danych strace
wyjściowych do próby pobrania subversion:
open("test/.svn/entries", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
lstat64("test", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
mkdir("test/.svn", 0777) = -1 EACCES (Permission denied)
write(2, "svn: Can't create directory 'test"..., 59svn: Can't create directory 'test/.svn': Permission denied
Nadal jest mylące, ponieważ mogę tworzyć katalogi (z tymi samymi trybami) w wierszu poleceń.
Zauważyłem jednak, że użycie touch
do utworzenia pliku tymczasowego powoduje błąd:
$ touch foo
touch: setting times of `foo': Permission denied
Chociaż nie był w stanie zresetować znacznika czasu, utworzył plik.