Even though userone is not a member of the myproject group, userone can checkout the whole repository.
Os repositórios são provavelmente legíveis pelo mundo. Você pode mudar isso executando
sudo chmod -R o-rws /svn/myproject
(Is this because userone is member of the sudo group?)
Não, ser membro do grupo sudo
significa apenas que você pode obter privilégios de root por meio de sudo
. O SVN não tiraria proveito disso. (Mas, mais geralmente, se um usuário tem privilégios de root em uma máquina, eles podem ler qualquer coisa nele, você não pode pará-los.)
usertwo is a member of the myproject group, but cannot commit to the repository
O que provavelmente aconteceu foi que userone
cometeu alguns arquivos novos no repositório e eles acabaram sendo propriedade dele e não graváveis pelo grupo do projeto.
A solução usual para isso é fazer com que todos os diretórios dentro do projeto tenham o bit setgid definido. Isso forçará todos os arquivos criados dentro deles pertencerem ao grupo de projetos.
sudo chmod -R g+s /svn/myproject
Então você também precisa ter certeza de que a umask de todos esteja configurada para 002, para que os arquivos sejam graváveis em grupo por padrão.
Isso tudo fica bastante complicado e frágil, então pode ser mais fácil servir o repositório SVN via https
apenas.