Pergunta

Eu tenho um repositório que possui os seguintes diretórios:

  • galhos
  • Tag
  • porta-malas

O diretório trunk contém a linha principal de desenvolvimento.Eu criei um script de gancho pós-confirmação para o repositório que atualiza uma cópia de trabalho (do tronco) quando um usuário retorna ao repositório.

Parece algo assim:

/usr/bin/svn update /path/to/a/working/copy

Acabei de criar uma ramificação do código quando estou prestes a iniciar algumas mudanças importantes, mas percebi que quando eu confirmo minhas alterações na ramificação, ele chama o gancho pós-commit e atualiza a cópia de trabalho (cópia do tronco).

Existe uma maneira de modificar meu script de gancho pós-commit ou uma configuração que eu possa fazer que atualizaria apenas a cópia de trabalho se o commit fosse feito no diretório trunk e não em qualquer outro diretório?

Foi útil?

Solução

Na faixa de opções, em lista> Alerta-me> Configurar alerta nesta lista, você pode definir alertas quando novos itens forem adicionados

Digite a descrição da imagem aqui

Outras dicas

Em adição a resposta de Bishiboosh, vale ressaltar que os ganchos podem ser qualquer programa.Ou seja, se você quisesse, você poderia escrever o programa em C.Os parâmetros passados ​​são descritos no documento.

Para obter um bom repositório de scripts para se inspirar, dê uma olhada em a página de ferramentas de subversão.Em geral, se você quiser fazer algum processamento condicional baseado no conteúdo da transação, e você faz, já que só quer processar se os arquivos estiverem no tronco, então será mais fácil usar Python, já que ele vem com um conjunto de ferramentas para examinar as transações. Este roteiro é um bom lugar para começar a procurar inspiração.

Observe que o caminho para o parâmetro não é o mesmo que o caminho para o arquivo que você está fazendo check-in.Afinal, você pode ter vários arquivos no check-in… O que você recebe é a localização do repositório e a revisão da alteração.Usando essas duas informações, você pode obter informações sobre a mudança no repositório e usar essas informações para decidir se deseja executar uma ação ou não no gancho pós-commit.

Aqui está outro exemplo (em Perl) Isso verifica explicitamente o caminho dos arquivos no checkin.Este é um script muito mais complicado, mas provavelmente as partes mais importantes podem ser arrancadas e reutilizadas.

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