Pergunta

Eu uso o TortoiseSVN para acessar o repositório local baseado em arquivo.Em todos os meus commits, um autor é meu nome de login do Windows.É possível usar nome diferente?

Eu sei como mudar o autor após o commit, mas como mudar antes?Instalar o Apache/svnserver não é uma opção.

Foi útil?

Solução

Sim é possivel.

TortoiseSVN e a svn O cliente de linha de comando compartilha o mesmo local de configurações em sua pasta de perfil.Então você pode simplesmente verificar uma versão usando svn.exe:

$ svn co --username different_user_name file:///C:/path/to/your/repo

...e o Subversion substituirá com prazer o nome de usuário associado a esse repositório.Os novos commits do TortoiseSVN usarão sempre esse nome de usuário, não importa com qual programa você faça os novos checkouts.

O procedimento deve funcionar com o TortoiseSVN 1.5.5.Caso contrário, tente esvaziar o cache de autenticação do svn (%APPDATA%\Subversion\auth\svn.username) primeiro.

Outras dicas

Outra solução possível (mas estou NÃO defendendo isso) é usar um script de gancho do lado do cliente antes do commit, para alterar o nome de usuário.

Os scripts de gancho são discutidos no livro do Subversion, e os ganchos locais são discutidos em "Scripts de gancho do lado do cliente" na ajuda do TortoiseSVN.

Pelo que eu sei, o TortoiseSVN não oferece nenhuma maneira de fazer isso.

Presumivelmente, isso não é visto como um grande problema, já que o acesso baseado em arquivo não é prático para cenários multiusuários e, para usuários únicos, o nome do autor é de menor importância.

Uma possível solução alternativa seria criar outro nome de usuário do Windows com o nome do autor desejado e conectar-se a ele.

Eu nunca hospedei o svn em uma máquina Windows, então este é um tiro no escuro.Você pode criar um novo usuário do Windows e especificá-lo ao navegar, fazer check-out, confirmar, etc.Digamos que você queira fazer alterações como msznajder.Crie um usuário com esse nome no Windows, então tente navegar no repositório usando o Repo-browser do TortoiseSVN e especifique o nome de usuário na URL - algo como file:///msznajder@localhost/some/file/path.

Eu sugiro definir um post-commit-hook (na pasta hooks do seu repositório - basta copiar post-commit-hook.tmpl para post-commit-hook.bat e esvaziá-lo [1]

svn propset svn:author --revprop -r HEAD <author> file:///<path-to-repo> [2]

[1] desde que o SlikSvn ou similar esteja instalado, ou seja,o acesso svn da linha de comando é possível)

[2] (ou .sh se estiver no Linux, com o preâmbulo #!/bin/bash) com o mesmo conteúdo

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top