Verificando o código-fonte do V8
Este documento explica como verificar localmente o código-fonte do V8. Se você deseja apenas navegar pelo código online, use estes links:
Usando Git
O repositório Git do V8 está localizado em https://chromium.googlesource.com/v8/v8.git, com um espelho oficial no GitHub: https://github.com/v8/v8.
Não execute apenas git clone
em nenhum destes URLs! Se você quiser construir o V8 a partir do seu checkout, siga as instruções abaixo para configurar tudo corretamente.
Instruções
-
No Linux ou macOS, primeiro instale o Git e depois
depot_tools
.No Windows, siga as instruções do Chromium (para Googlers, para não-Googlers) para instalar o Git, Visual Studio, ferramentas de depuração para Windows e
depot_tools
. -
Atualize
depot_tools
executando o seguinte no seu terminal/shell. No Windows, isso deve ser feito no Prompt de Comando (cmd.exe
), em vez de PowerShell ou outros.gclient
-
Para acesso de push, você precisa configurar um arquivo
.netrc
com sua senha do Git:- Vá para https://chromium.googlesource.com/new-password e faça login com sua conta de commit (geralmente uma conta
@chromium.org
). Nota: criar uma nova senha não revoga automaticamente senhas criadas anteriormente. Certifique-se de usar o mesmo e-mail configurado emgit config user.email
. - Veja a grande caixa cinza contendo comandos shell. Cole essas linhas no seu shell.
- Vá para https://chromium.googlesource.com/new-password e faça login com sua conta de commit (geralmente uma conta
-
Agora, obtenha o código-fonte do V8, incluindo todos os ramos e dependências:
mkdir ~/v8
cd ~/v8
fetch v8
cd v8
Depois disso, você estará intencionalmente em um estado de cabeçalho destacado.
Opcionalmente, você pode especificar como novos ramos devem ser rastreados:
git config branch.autosetupmerge always
git config branch.autosetuprebase always
Alternativamente, você pode criar novos ramos locais desta forma (recomendado):
git new-branch fix-bug-1234
Mantendo-se atualizado
Atualize seu ramo atual com git pull
. Note que, se você não estiver em um ramo, git pull
não funcionará, e você precisará usar git fetch
.
git pull
Às vezes, as dependências do V8 são atualizadas. Você pode sincronizá-las executando:
gclient sync
Enviando código para revisão
git cl upload
Comitando
Você pode usar a checkbox CQ no codereview para comitar (preferido). Veja também as instruções do chromium para flags CQ e solução de problemas.
Se você precisar de mais trybots do que o padrão, adicione o seguinte à sua mensagem de commit no Gerrit (por exemplo, para adicionar um bot nosnap):
CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_nosnap_rel
Para enviar manualmente, atualize seu ramo:
git pull --rebase origin
Então comite usando:
git cl land
Try jobs
Esta seção é útil apenas para membros do projeto V8.
Criando um try job via codereview
-
Envie um CL para o Gerrit.
git cl upload
-
Tente o CL enviando um try job para os try bots desta maneira:
git cl try
-
Aguarde os try bots compilarem e você receberá um e-mail com o resultado. Você também pode verificar o estado do try no seu patch no Gerrit.
-
Se a aplicação do patch falhar, você precisa reenviar seu patch ou especificar a revisão do V8 para sincronizar:
git cl try --revision=1234
Criando um try job a partir de um ramo local
-
Comite algumas mudanças para um ramo git no repositório local.
-
Tente a mudança enviando um try job aos try bots desta forma:
git cl try
-
Aguarde os try bots compilarem e você receberá um e-mail com o resultado. Nota: existem problemas com algumas das réplicas no momento. Enviar try jobs via codereview é recomendado.
Argumentos úteis
O argumento de revisão informa ao try bot qual revisão da base de código será usada para aplicar suas mudanças locais. Sem a revisão, a revisão LKGR do V8 é usada como base.
git cl try --revision=1234
Para evitar rodar seu try job em todos os bots, use o flag --bot
com uma lista separada por vírgulas dos nomes dos builders. Exemplo:
git cl try --bot=v8_mac_rel
Visualizando o servidor de try
git cl try-results
Ramos de código-fonte
Existem vários ramos diferentes do V8; se você não tem certeza de qual versão obter, provavelmente desejará a versão estável e atualizada. Confira nosso Processo de Lançamento para obter mais informações sobre os diferentes ramos utilizados.
Você pode querer acompanhar a versão do V8 que o Chrome está enviando em seus canais estáveis (ou beta), veja https://omahaproxy.appspot.com/.