Pergunta

Eu estou procurando uma maneira de fazer o seguinte quer por pré-commit ou post-commit ou de qualquer outra forma.

Aqui está o que eu preciso para trabalhar

  1. Usuário compromete o arquivo
  2. runs alguma coisa (gancho ou outra coisa)
  3. Que outra coisa do nº 2 deve acrescentar texto estático para o arquivo que está sendo comprometida

Com base nesta http://subversion.open. collab.net/ds/viewMessage.do?dsForumId=3&dsMessageId=296576 Vejo que não é recomendado, mas não é preciso ser uma maneira de texto acréscimo para arquivo em cada commit.

Sistema operacional: Sent Os

razão pela qual eu precisar dele: proteger todos os arquivos de código através da inserção de avisos legais

Foi útil?

Solução 3

Até agora, a única solução viável é usar ganchos do lado do cliente de tortoiseSVN:

inserindo comentários automaticamente usando TortoiseSVN?

Infelizmente, isso limita os desenvolvedores a usar somente TortoiseSVN. Usando plugins Visual Studio, por exemplo, não vai funcionar: (

Se alguém encontra alguma maneira centralizada de como fazer isso, por favor, poste aqui.

Outras dicas

Olhe para o vermelho caixa no final de neste capítulo do livro SVN:

Enquanto scripts de gancho pode fazer quase tudo, há uma dimensão na qual os autores de scripts gancho deve mostrar moderação: não modifique a confirmar a transação usando scripts de gancho. Embora possa ser tentador usar scripts de gancho a erros corrigir automaticamente, deficiências, ou violações de políticas presentes nos arquivos que estão sendo cometidos, isso pode causar problemas. Subversion mantém caches do lado do cliente de certos pedaços de dados do repositório, e se você mudar a confirmar a transação, desta forma, esses caches ficar indetectably obsoleto. Esta inconsistência pode levar a um comportamento surpreendente e inesperado. Em vez de modificar a transação, você deve simplesmente validar a transação no gancho pre-commit e rejeitar o commit se ele não cumprir os requisitos desejados. Como um bônus, os usuários irão aprender o valor do cuidado, hábitos de trabalho de conformidade de espírito.

Eu assinar o POV esse texto em caixas vermelhas deve ser levado a sério.

De acordo com esse segmento, você poderia fazer isso em um gancho pre-commit, mas seria uma coisa ruim ™ Se você absolutamente deve ter texto estático no arquivo, seria melhor ter os desenvolvedores colocar o texto em, e depois usar o gancho pre-commit para verificar se ele estava lá. Se o texto estático não existe, ou é incorreta, você rejeitar a cometer.

Que tal trabalhar neste outra maneira - usar um robô. É um pouco mais de trabalho, mas, basicamente:. Aceitar o commit para o repositório sem a secção jurídica exigida e acionar o robô para ter um olhar (ou ter o olhar robô periodicamente)

O robô, em seguida, faz um checkout / update dos arquivos que cuida, cheques sua política e avisos legais, adiciona automaticamente qualquer coisa que precisa e então verifica as alterações novamente. Desta forma, caches do Subversion são felizes e os avisos legais são em todos os arquivos. Developerse vai puxar as mudanças para baixo na próxima atualização / commit ciclo da mesma forma que faria com qualquer outra mudança. Você pode até ter o robô automaticamente manter a seção legal atualizado com a última definição, dependendo da complexidade que você quer que ele seja.

Pode até ser capaz de fazer uso de algo como Hudson para hospedar isso em um quadro utilizável.

Você pode instalar um gancho no servidor SVN que irá executar um script e pode acrescentar informações ao arquivo etc.

Há um pouquinho de informação aqui: http://svnbook.red-bean.com/en/1.4/svn.ref.reposhooks.post-commit.html

Dito isso, por que na Terra que você iria querer fazer isso?

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