repositório SVN - edição de premissas do usuário

1

Eu criei o repositório há muito tempo atrás quando eu era o único usuário. Agora preciso adicionar outro usuário, então criei um grupo de usuários no qual adicionei os dois usuários e fiz o seguinte:

chmod -R user1:usergroup svnrepo/*
chown -R 0770 svnrepo/*

Agora, todos temos a capacidade de atualizar e confirmar, mas o problema é que, quando um de nós se compromete, aparentemente muda o proprietário de svnrepo/db/current (para o usuário que cometeu) e a outra pessoa perde o acesso ao repositório, até que eu defina manualmente o proprietário adequado novamente.

Você tem uma ideia de como consertar isso? É extremamente irritante ...

    
por barakuda28 18.07.2013 / 20:51

2 respostas

2

Não acredito que seja uma maneira recomendada de compartilhar o acesso a um repositório SVN. Você está usando o protocolo file:/// para acessar o repositório e geralmente é desencorajado fazê-lo dessa maneira. Veja este StackOverflow Q & A intitulado: repositório svn no compartilhamento de rede do Windows .

Da documentação do TortoiseSVN

file:// access is intended for local, single-user access only, particularly testing and debugging. When you want to share the repository you really need to set up a proper server, and it is not nearly as difficult as you might think. Read the section called “Accessing the Repository” for guidelines on choosing and setting up a server.

Este mesmo sentimento é ecoado no SVN Bean Book também .

Do not be seduced by the simple idea of having all of your users access a repository directly via file:// URLs. Even if the repository is readily available to everyone via a network share, this is a bad idea. It removes any layers of protection between the users and the repository: users can accidentally (or intentionally) corrupt the repository database, it becomes hard to take the repository offline for inspection or upgrade, and it can lead to a mess of file permission problems (see the section called “Supporting Multiple Repository Access Methods”). Note that this is also one of the reasons we warn against accessing repositories via svn+ssh:// URLs—from a security standpoint, it's effectively the same as local users accessing via file://, and it can entail all the same problems if the administrator isn't careful.

Leia o SO Q & A. Há um número de pessoas que atestam os problemas que enfrentaram, fazendo desta forma onde o repositório foi corrompido.

Melhor configurar um daemon svnserve real e permitir que ele controle o acesso ao repositório. É muito simples configurar isso.

    
por 18.07.2013 / 20:59
0

Eu recomendaria configurar o svnserve e acessar o repositório via svn: // ou ssh + svn: //

Se preferir continuar usando o método file: //, certifique-se de que você e seu amigo estejam no mesmo grupo e defina o diretório do repo para usar a permissão do grupo definido

usermod -a -G <group> <user>
chgrp <group> /path/to/repo
chmod 2770 /path/to/repo

Isso garantirá que todos os novos arquivos criados herdarão permissões de grupo e ajudarão a aliviar os problemas de permissão do sistema de arquivos.

    
por 19.07.2013 / 00:47