Trabalhando com Gerrit
Account setup
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/
Sign in with your Google, GitHub, or git.jami.net account.
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.
Finally, the email address specified in your git config must match one of the email addresses registered with your Gerrit account.
Importante
For Savoir-faire Linux Inc. employees: please continue to use your @savoirfairelinux.com email address.
To view your Git config
git config --list
To test your SSH access
To check that your SSH access is properly set up, run the following command:
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.
Git configuration
Gerrit is the official Git repository.
Para atualizar a configuração
You must update your remote information to now use the Gerrit repository. To do that, update your origin URL:
git remote set-url origin ssh://<nome de usuário>@review.jami.net:29420/<nome do projeto>
Replace <project_name>
with the correct project (example: jami-daemon).
Ou clone o repositório existente se quiser começar de novo.
Para empurrar por padrão em refs/for/master
You can configure Git to automatically create a review when a change is pushed.
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
If this is the first time you’ve pushed, you will be prompted to install a post-commit hook to insert a Change-ID in your commit message. Gerrit needs this to track patch sets and will reject pushes until you install it. Simply copy and paste the command to install the hook as instructed by Gerrit and amend your commits.
To push a private patch
You can push a work in progress (a.k.a. draft) by pushing to 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.