Como faço para implementar um script de gancho pré-confirmação no SVN que chama dos2unix para validar o arquivo com check-in

StackOverflow https://stackoverflow.com/questions/48562

  •  09-06-2019
  •  | 
  •  

Pergunta

Gostaria de saber se alguém aqui tem alguma experiência em escrever esse tipo de script e se poderia me dar algumas dicas.

Eu gostaria de modificar isso roteiro para validar que o arquivo de check-in não possui Retorno de Carro na formatação EOL.O formato EOL é CR LF no Windows e LF no Unix.Quando um usuário faz check-in do código com o formato Windows.Ele não compila mais no Unix.Eu sei que isso pode ser feito no lado do cliente, mas preciso que essa validação seja feita no lado do servidor.Para conseguir isso, preciso fazer o seguinte:

1) Certifique-se de que o arquivo que verifico não seja binário, não sei como fazer isso com o svnlook, devo verificar o mime:type do arquivo?O livro Vermelho não indica isso claramente ou não devo ter visto.

2) Eu gostaria de executar o dos2unix comando para validar se o arquivo tem o formato EOL correto.Eu compararia a saída do comando dos2unix com o arquivo original.Se houver diferença entre ambos, dou uma mensagem de erro ao cliente e cancelo o check-in.

Gostaria de seus comentários/feedback sobre esta abordagem.

Foi útil?

Solução

Eu acho que você pode evitar um script de commit hook neste caso usando o svn:eol-style propriedade conforme descrito no SVNBook:

Dessa forma, o SVN pode se preocupar com os finais de linha para você.

Boa sorte!

Outras dicas

O que exatamente você está tentando fazer?

Claro, existem vários lugares para aprender sobre os ganchos de pré-commit do svn (por exemplo, aqui , aqui, E no livro Vermelho), mas depende do que você está tentando fazer e do que está disponível no seu sistema.

Você pode ser mais específico?

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