Trabalhando com Gerrit
Configuração de conta
Servidor Gerrit: https://review.jami.net
Documentação do utilizador: https://review.jami.net/Documentation/intro-user.html
Projetos de Jami sobre Gerrit: https://review.jami.net/admin/repos/
Inscrever-se com o seu Google ou Github ou Git.jami.net
Você também precisará carregar uma chave SSH para poder fazer o commit das alterações para revisão.
Não se esqueça de selecionar um nome de usuário.
Finalmente, o endereço de e-mail especificado na sua configuração git deve corresponder a um endereço de e-mail registrado com a sua conta Gerrit.
Nota para os funcionários do Savoir-faire Linux: continue a usar o seu endereço de e-mail @savoirfairelinux.com.
Para conhecer o seu Git Config
git config --list
Para testar o seu acesso SSH
Para verificar se o seu acesso SSH está configurado corretamente, execute o seguinte comando:
ssh -p 29420 <nome do usuário>@review.jami.net
If your access is granted, you should see a message like:
**** Welcome to Gerrit Code Review ****
Hi, you have successfully connected over SSH.
Unfortunately, interactive shells are disabled.
To clone a hosted Git repository, use:
git clone ssh://<username>@review.jami.net:29420/REPOSITORY_NAME.git
Connection to review.jami.net closed.
Configuração do Git
Gerrit é o repositório oficial do git.
Para atualizar a configuração
Você deve atualizar suas informações remotas para usar agora o repositório Gerrit. Para fazer isso, atualize sua URL de origem:
git remote set-url origin ssh://<nome de usuário>@review.jami.net:29420/<nome do projeto>
Substituir o <nome do projeto>
pelo projeto correto (exemplo: jami-daemon)
Ou clone o repositório existente se quiser começar de novo.
Para empurrar por padrão em refs/for/master
Você pode configurar git para criar automaticamente uma revisão quando uma mudança é empurrada.
git config remote.origin.push HEAD:refs/for/master
Para criar a revisão
Ao chegarmos a este ramo mágico, automaticamente será criada uma revisão sobre o Gerrit.
git push origin HEAD:refs/for/master
Se você configurou o padrão para refs/for/master como descrito acima, simplesmente
git push
Se o HEAD atualmente aponta para o ramo com os compromissos que você gostaria de empurrar. Idealmente, você deve trabalhar em um recurso / ramo de bug para o problema em questão. Então você pode fazer:
git origem <bugfix_branchname>:refs/for/master
Se esta é a primeira vez que você pressionou, você será solicitado a instalar um gancho pós-comitamento para inserir um ID de mudança em sua mensagem de compromissos. Gerrit precisa disso para rastrear os conjuntos de parches e rejeitará os empurrões até que você o instale. Basta copiar e colar o comando para instalar o gancho conforme instruído por Gerrit, e alterar seus compromissos.
Para empurrar um patch privado
Pode-se empurrar um trabalho em andamento (também chamado de projecto) pressionando para refs/for/master%private
Por exemplo, você pode querer um controle remoto “privado” para empurrar para; abrir <project_dir>/.git/config e adicionar:
[remote "private"]
url = ssh://<username>@review.jami.net:29420/jami-daemon
push = HEAD:refs/for/master%private
Então:
git push private
O trabalho privado é igual ao conjunto de patches, exceto que não são visíveis para os outros por padrão e não desencadeiam nenhuma construção Jenkins.