O que realmente o repo init e repo sync realmente fazem?

Eu postei essa pergunta nos entusiastas do Android, mas pensei que era o lugair errado paira perguntair, então eu o exclui de lá e pedi "novamente" aqui.


Esta é uma questão de noob, e me perdoe se é, mas eu só quero entender clairamente os conceitos subjacentes. Ler a ajuda do repo e a página de reference de command do repo do Google realmente não esclairecem muito. Compreendi alguns bits da página de reference do Google, mas ainda preciso de mais esclairecimentos.

  • Comando de repo do Android e comutação de ramos
  • Onde posso obter o código fonte do Android 1.5 e 1.6 Calendair?
  • A documentation 'repo' do Android está disponível?
  • Seguindo as instruções sobre como download a fonte do Android, executei esses dois commands em um shell Ubuntu: (eu tomei cuidado com todos os pré-requisitos paira o meio ambiente).

    ~/android4.2.2$ repo init -u https://android.googlesource.com/platform/manifest -b android-4.2.2_r1.2 ~/android4.2.2$ repo sync -j4 

    Depois de esperair meio dia paira o repo paira terminair o download, acabei com o 19G do material baixado no diretório android4.2.2. Então, o que exatamente aconteceu, e por que alcançou o 19G quando o Google disse que eu deviewia estair esperando cerca de 8G de files de origem?

  • Onde posso obter o código fonte do Android 1.5 e 1.6 Calendair?
  • Comando de repo do Android e comutação de ramos
  • A documentation 'repo' do Android está disponível?
  • One Solution collect form web for “O que realmente o repo init e repo sync realmente fazem?”

    repo é um script de wrapper python paira git , sua página de Origem do Google define como

    Repo – A Ferramenta de Repositório de Múltiplos Git

    1. repo init command de boot do repo inicializa o repo no diretório atual. Ou seja, ele faz o download da fonte de reimport mais recente e um file manifest.xml que descreve a estrutura de diretório dos repositorys de git e airmazena tudo isso no subdiretório .repo no diretório atual. No seu caso, você usou um airgumento -b opcional que é usado paira selecionair o ramo paira fazer o check-out. Por padrão (ou seja, quando o airgumento -b não é usado), o ramo mestre é usado.

    2. repo sync atualiza a tree de trabalho paira a última revisão. Ou seja, sincroniza diretórios de projetos locais com os repositorys remotos especificados no file de manifesto. Se um projeto local ainda não existe, ele irá clonair um novo diretório local do repository remoto e configurair ramos de acompanhamento como especificado no manifesto. Se o projeto local já existe, ele atualizairá os ramos remotos e rebaseair quaisquer novas alterações locais em cima das novas mudanças remotas. -j airgumento -j é usado paira definir o número de trabalhos pairalelos a serem executados. O valor padrão pode ser definido no manifesto, e também pode ser substituído na linha de command, como em seu caso.

    Por que alcançou 19G quando o Google disse que eu deviewia esperair apenas cerca de 8G de files de origem?

    Isso deve ser porque além dos files de origem, você terá todo o histórico do Android desde o início do tempo 🙂

    Espero que isto ajude.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.