Por esta discussão na lista de discussão do SVN, não é possível preservar os bits de permissão de um arquivo no SVN, além do bit executável que possui uma propriedade SVN especial.
Em um servidor Ubuntu, eu tenho um diretório contendo arquivos versionados do Subversion. Eu usei chgrp bb *
para definir o proprietário do grupo.
Também configurei o bit SGID do diretório com chmod g+s mydir
para que novos arquivos sejam criados com esse grupo:
drwsr-sr-x 4 mat bb 4096 Dec 4 21:37 mydir
Isso funciona bem se eu criar um novo arquivo com touch test-touch
-rw-r--r-- 1 mat bb 0 Dec 4 21:43 test-touch
Mas svn update
não tem o mesmo efeito:
-rw-r--r-- 1 mat mat 3006 Dec 4 21:44 test-svn
Como posso fazer com que o Subversion respeite o bit SGID?
Por esta discussão na lista de discussão do SVN, não é possível preservar os bits de permissão de um arquivo no SVN, além do bit executável que possui uma propriedade SVN especial.
De acordo com Version Control com Subversion , a solução é garantir que a instância de svn ou svnserve acessando o repositório esteja em execução com umask 002, veja this .
Eu costumava ter o mesmo problema com a subversão em uma máquina RHEL4. Depois de migrar o repositório para uma máquina RHEL5 (e, portanto, para outra versão do subversion), o problema desapareceu.
O executável do subversion está rodando como usuário bb ou mat? Para descobrir, verifique as permissões no binário svnserve (no meu sistema, é /usr/bin/svnserve
. Verifique também o grupo de que é proprietário.