O que é o Repo e porque é que o Google o utiliza?
5 answers
Repo e git - o que são, para que servem-é explicado em source.android.com
Para trabalhar com o Código Android, tu ... terá de usar tanto o Git como o Repo.Não há GUI para Repo, tanto quanto posso dizer, mas há um pouco de orientação sobre o site acima para controlar o que Repo está fazendo a partir da linha de comando.O Git é um sistema de controlo de versões de código aberto concebido para: lidar com projetos muito grandes que são distribuídos por vários repositorio. No contexto da Android, usamos Git para locais operações como a ramificação local, commits, diffs, and edits.
O Acordo de recompra é um ferramenta que construímos em cima do Git. O Repo ajuda-nos a gerir a muitos repositórios Git, uploads para o nosso controlo de revisão sistemas e autómatos de partes do sistema Fluxo de trabalho de Desenvolvimento Android. Acordos de recompra não era para substituir o Git, apenas para fazer é mais fácil trabalhar com o Git na contexto do Android. O comando de repo é um programa em Python executável que você pode colocar em qualquer lugar no seu caminho.
Como é mencionado na página web do android, {[[0]} não substitui git
. É apenas uma ferramenta sobre git
e ajuda-o a gerir múltiplos repositórios git.
Por exemplo, suponha que eu tenho um grande projeto que tem um monte de recursos e eu tenho várias equipes trabalhando em cada recurso e eu criei um repositório para cada recurso. Por exemplo, suponha que meus repositórios são wifi
, telephony
, power management
, etc. Esta ação tem sentido quando suas características têm ciclos de vida diferentes. Por exemplo, se eu não Toque no recurso wifi
na minha próxima versão e eu vou modificar todo o resto. Assim, neste cenário, meu projeto ou produto é distribuído em vários repositórios de git diferentes.
Então, para obter uma foto centralizada do meu projeto (um momento específico do meu projeto, por exemplo um marco), eu preciso obter a revisão (hash git ou tag) de cada repositório. Lembre-se que temos um repositório para cada recurso. Podia fazê-lo manualmente, mas podia ser muito doloroso. Então, com repo podes ter um. MANIFEST
que liga a todas as revisões de cada acordo git (um para cada característica) e tem uma imagem específica de todo o meu projecto.
Com repo você tem mais recursos, não só para checkout em um ponto específico. Para mais informações, consulte http://source.android.com/source/using-repo.html.
Em relação ao ponto de pausa e reinício, enquanto numa janela de terminal a fazer uma sincronização de repo, poderá carregar em "ctrl + z" para pausar a sincronização de repo. Para reiniciar simplesmente escreva " fg " na mesma janela.
A repo sync tem várias opções úteis:
-f recupera das desconectações
-c apenas carrega o ramo que pediste
-j acelera a sincronização aumentando o número de cpus usadas pelo comando
Vá para:
Http://source.android.com/source/git-repo.html
E você pode baixar o script repo
. É um script em Python que usa o comando git
para fazer a revisão do código-fonte distribuído.
Depois de ter executado repo sync
, faça um ps -auwf
para ver os processos:
\_ python -E /sde3/root/download/android/android/.repo/repo/main.py --rep \_ git fetch korg \_ git fetch korg \_ git index-pack --stdin -v --fix-thin --keep=fetch-pack 5227 on
SIM, repo sync
quebra frequentemente. Mas é robusto, basta reiniciar o comando e ele vai retomar a sincronização novamente-aqueles que foram atualizados não será re-aplicado, por isso vai saltar sobre eles e continuar com o resto.