Normalmente, usamos o Perforce e o Code Collaborator da SmartBear Big Corp
e agora também usaremos o Mercurial para determinados projetos.
Suporte ao Code Collaborator Mercurial (estamos usando a versão 5) e estou tentando determinar quando o melhor momento (durante o processo de confirmação / envio ao servidor) é o melhor / eficiente para uma revisão de código
obrigado
code-reviews
mercurial
cbrulak
fonte
fonte
Respostas:
Na verdade, passamos quase exatamente pela mesma coisa na minha empresa recentemente. Aqui está o que fizemos:
Mantemos uma cópia definitiva central de todos os nossos repositórios em um servidor. Quando os desenvolvedores desejam "fazer check-out" do código, eles acessam este servidor e clonam a partir dos repositórios. Da mesma forma, quando o ciclo de desenvolvimento é concluído, o código também é enviado para o repositório apropriado.
Separamos repositórios estáveis dos repositórios de desenvolvimento . Exigimos que o código seja revisado antes de ser enviado para um repositório estável. (Isso é significativo porque também exigimos que nossos repositórios estáveis contenham o código atualmente em execução na produção, diferindo apenas pelas promoções de códigos pendentes.)
Para impor a revisão de código, escrevemos um
pretxnchangegroup
gancho (documentado no HG Book ). Aproveitamos o fato de que, quando esse gancho é executado, ele pode ver o repositório como se as alterações de código fossem permanentes, mas também nos dá a capacidade de impedir o envio. Basicamente, o processo é o seguinte:Em essência, isso fornece ao desenvolvedor um processo bastante simplificado (tudo o que eles precisam fazer é pressionar hg) e automatiza completamente a criação da revisão de código (e o upload de arquivos alterados adicionais para a revisão), garantindo que todo o código seja revisado. .
Nota: Esse é um processo bastante simples (e relativamente novo para nós); portanto, pode não funcionar para todos, e pode haver alguns bugs de design que ainda não encontramos. Mas até agora, funcionou muito bem.
fonte
Depende de como você tem sua estrutura de repositório e o que você está tentando realizar. Preferimos fazer revisões de "pré-confirmação", o que no mundo do DVCS realmente significa "pré-envio". Os DVCS são mais agradáveis nesse ambiente (quando comparados aos SCMs tradicionais) porque possuem funcionalidade incorporada para salvar as alterações locais e recuperar o espaço de trabalho para que você possa trabalhar em outra coisa.
Se você deseja fazer revisões pós-envio, o fluxo de trabalho ideal depende muito da sua estrutura de repositório. Por exemplo, vamos assumir uma estrutura de repositório semelhante à discutida neste artigo sobre layouts de repositório Git . Nesse caso, convém revisar as alterações que estão sendo mescladas
develop
. As confirmações individuais nas ramificações dos recursos podem não fazer sentido revisar. Obviamente, todoshotfixes
também devem ser revisados juntamente com as fusõesmaster
.Se, em vez disso, você tiver um único ramo de integração no qual as pessoas estão fazendo check-in diretamente, convém revisar todos os pushs desse ramo. Provavelmente é um pouco menos eficiente, mas ainda pode funcionar. Nesse ambiente, você precisaria garantir que todas as alterações que foram enviadas foram revisadas antes de fazer um lançamento. Isso pode ser mais complicado.
Quanto a b), a única coisa que eu sugeriria é enviar um e-mail para o suporte SmartBear ([email protected]) diretamente. Nós (sim, eu trabalho para o SmartBear) ficaremos felizes em ajudá-lo a resolver os problemas do seu caminho, mas não há informações suficientes nesta pergunta para corrigir seu problema. O processo normal é apenas executar o instalador e tudo funciona. Aparentemente, algo deu errado nesse processo.
fonte