Como posso implementar uma consolidação pré-script de gancho no SVN que chama dos2unix ao validar o check-in de arquivos

votos
7

Eu queria saber se alguém aqui teve alguma experiência de escrever este tipo de roteiro e se eles poderiam me dar algumas indicações.

Gostaria de modificar este roteiro para validar que o arquivo de check-in não tem um Retorno de carro na formatação EOL. O formato EOL é CR LF no Windows e LF em Unix. Quando um usuário de código verifica-in com o formato do Windows. Ele não compilar em Unix mais. Eu sei que isso pode ser feito no lado do cliente, mas eu preciso ter essa validação feito no lado do servidor. Para conseguir isso, eu preciso fazer o seguinte:

1) Verifique se o arquivo eu verificar não é um binário, eu não sei como fazer isso com svnlook, eu deveria verificar a mímica: tipo do arquivo? O Livro Vermelho não indica isso claramente ou não devo tê-lo visto.

2) Eu gostaria de executar o dos2unix comando para validar que o arquivo tem o formato EOL correta. Gostaria de comparar a saída do comando dos2unix contra o arquivo original. Se há uma comparação entre ambos, eu dar uma mensagem de erro para o cliente e cancelar o check-in.

Gostaria que o seu comentários / comentários sobre essa abordagem.

Publicado 07/09/2008 em 17:32
fonte usuário
Em outras línguas...                            


2 respostas

votos
4

Eu acho que você pode evitar um script cometer gancho, neste caso, usando a svn:eol-stylepropriedade como descrito na SVNBook:

Desta forma SVN pode se preocupar com suas terminações de linha para você.

Boa sorte!

Respondeu 08/09/2008 em 20:45
fonte usuário

votos
1

O que exatamente você está tentando fazer?

Claro, existem inúmeros locais para aprender sobre svn pré-commit ganchos (por exemplo, aqui , aqui e no Livro Vermelho ) mas depende do que você está tentando fazer e que está disponível em seu sistema.

Você pode ser mais específico?

Respondeu 07/09/2008 em 17:48
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more