Nós executamos um repositório SVN. Alguns de nossos usuários mais avançados precisam ser capazes de executar alguma administração SVN sem depender do administrador do sistema.
Eles precisam ser capazes de fazer coisas como criar repositórios SVN, excluir repositórios SVN ,, e executar comandos como 'svnadmin dump' e 'svnadmin load'.
Gostaríamos de evitar o acesso SSH nessas máquinas FreeBSD e preferimos fornecer uma interface de serviço através de uma interface da Web.
Estou procurando um script simples (ou um pequeno número de scripts) que use Perl ou PHP. Encontrei svnadmin (de Jochen Hoenicke) ou svnadmin.pl (de doug munsinger), mas esperava encontrar algo com uma comunidade de usuários maior ou recomendada por outras pessoas.
Parece que o Trac permite a administração de SVN, mas vem com mais recursos do que precisamos.
fonte
Respostas:
Resposta tardia, porque eu sou novo no serverfault: nós (departamento de universidade de compsci) desenvolvemos nossa própria interface web de svn de autoatendimento e a disponibilizamos como código aberto. Nomeado repocafe, disponível em http://repocafe.cs.uu.nl/ . Modelado de acordo com nossas próprias necessidades, ele pode lidar com um ou vários servidores LDAP e usuários convidados. Talvez um pouco exagerado por 'simples'.
fonte
No final, optamos por seguir com svnadmin (de Jochen Hoenicke).
Isso ganhou porque era um arquivo único e simples, com 400 linhas de código, e é algo que poderíamos consertar se necessário. Infelizmente, ele não possui uma comunidade de usuários ou muitas recomendações. Mas a simplicidade vence. Pergunte-me em 6 meses se recomendamos;)
fonte
Trac e Redmine são os dois únicos que conheço que fazem isso bem; mas ambos visam mais o gerenciamento de projetos e a administração simples do repositório.
fonte
Há um módulo Usermin para o Subversion, mas não tenho certeza se ele permitiria que você fizesse o que precisa.
fonte
Existe a "User friendly svn" USVN . Acho que você descobrirá que a maior parte do esforço da comunidade para algo assim é pequeno - o SVN é realmente mantido, mas as ferramentas administrativas são uma parte que não o é. Eles tendem a ser escritos uma vez e funcionam para sempre, portanto, essas ferramentas da GUI também não precisam ser alteradas. Portanto - não se preocupe muito com o tamanho da comunidade neste caso.
fonte
Vou responder minha própria pergunta, para posteridade.
Eu também encontrei o USVN , que é uma ferramenta de administração de SVN baseada em PHP. Ele passou por várias iterações, possui uma comunidade de usuários e um site completo com recursos brilhantes,
No entanto, o projeto USVN parece um pouco obsoleto. A USVN foi um projeto realizado por estudantes de uma universidade, e agora os administradores se formaram e passaram a procurar empregos, e talvez não tenham tempo para contribuir com o projeto. Não há uma atualização há 9 meses, o rastreador de bugs não parece ativo e os fóruns estão cheios de spam e parecem um pouco mantidos , então talvez a comunidade esteja menos ativa do que aparece pela primeira vez. Isso não é tão ruim e espero que essas pessoas se saiam bem, mas eu ficaria preocupado em me envolver em um projeto obsoleto.
O projeto usa 200 arquivos (sem contar os 2.000 arquivos do Zend), o que pode dificultar a auditoria e a manutenção e pode ter mais complexidade do que procuramos. Além disso, este projeto conta com o Zend, que sofre de problemas políticos no FreeBSD .
fonte
Outra sugestão da lista de discussão svn dev de 09 de dezembro, então é bem recente!
fonte
Implementamos isso com nossa nova distribuição svn há um ano. Funcionou muito bem.
Temos várias equipes de desenvolvimento e seus próprios projetos. Então, trouxemos todas as informações para o LDAP e concedemos aos gerentes de equipe acesso de gravação à árvore de informações de diretório (DIT) para subversão:
ou = grupos, ou = subversão, ou = aplicativos, dc = exemplo, dc = com ou = repositórios, ou = subversão, ou = aplicativos, dc = exemplo, dc = com
A unidade organizacional dos 'grupos' acima são grupos personalizados para repositórios / projetos do subversion. Além disso, usamos 'viewvc' com https para visualizar repositórios no svn.
O servidor apache usa o arquivo ACL criado com base no LDAP DIT (fornecido acima) para fornecer acesso de leitura e gravação a diferentes usuários e grupos. Existe um cron que lê o LDAP DIT a cada cinco minutos e criou o arquivo ACL. Portanto, se houver um novo repositório adicionado com usuários / grupo somente leitura e leitura / gravação. O cron lerá isso e criará os repositórios e incorporará essas informações no arquivo ACL para o repositório recém-criado. É bem arrumado. Você precisa criar um esquema LDAP com base em seus requisitos, obviamente. Como temos todas as informações de usuários / hosts no LDAP, não foi muito importante estendê-las para incluir informações sobre svn.
-F
fonte
Parece que as coisas mudaram horas extras. Aqui está outro script que eu acho que parece ser uma boa opção para o gerenciamento de svn: http://www.svn-access-manager.org/
fonte