Pergunta

Atualmente, estou procurando converter um repositório SVN existente para o GIT e, em seguida, usar o ReviewBoard para revisões antes de permitir pushes. Recentemente, comecei a usar o Git e estou longe de ser um especialista, no entanto, o que eu gostaria de fazer é ter um gancho de pré-push que executa "pós-revisão" para enviar as alterações no REVILDBOOD. Eu tenho um gancho que fará isso, no entanto, parece que isso não é propagado automaticamente para os clones do repositório. Ler ao redor parece que isso não é feito para evitar forçar o código executável a um usuário, no entanto, este é um repositório apenas interno e queremos aplicar isso e algumas outras políticas. Existe uma maneira de forçar o Git a propagar os ganchos a clones remotos ou precisamos instruir nossos desenvolvedores a executar algo que coloca esses ganchos em seus repositórios locais?

Foi útil?

Solução

O Git não possui suporte interno para transferir ganchos entre clones, opcionais ou não. Possui modelos padrão para os quais você pode modificar ou adicionar para novos repositórios, mas eles são retirados do sistema de arquivos local (ou sistema de arquivos de rede, conforme o caso). É possível que você possa instrumentar um sistema para copiá -los ou colocar os ganchos no repositório e pedir que os desenvolvedores configurem seu clone corretamente.

Também pode ser possível executar o gancho que você deseja no repositório central, quando o empurrão acontecer, mas antes que o juiz seja atualizado. Isso pode ser feito com um gancho de pré-recebimento ou atualização. Se isso é aceitável depende da funcionalidade real desse gancho, o que não está claro na sua postagem.

Leitura http://www.reviewboard.org/docs/manual/dev/faq/ Parece que talvez você deva incentivar seus desenvolvedores a usar ramificações de tópicos. Depois que as alterações são aprovadas, elas podem ser fundidas nas filiais de liberação. Você pode ter um gancho de atualização que permite apenas empurrões para ramificações específicas de usuários privilegiados ou qualquer outro critério. Isso também pode ser feito usando Gitolite, sobre o qual você pode ler em http://progit.org/book/ch4-8.html

Se você não está comprometido com o RELECTBOOD, você pode considerar http://code.google.com/p/gerrit/ que é melhor integrado ao Git e apóia explicitamente esse fluxo de trabalho

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