Como posso limitar o tamanho da fonte do Android que preciso baixar com "repo sync"?


16

Estou planejando partir para um país com pouca conexão à Internet, onde espero fazer algum desenvolvimento de software.

Estou usando repo syncpara sincronizar a fonte do Android (e a fonte CyanogenMod no meu servidor da AWS). Mas eles são tão grandes (> 30 GB) que eu não os pegarei antes de deixar meu país.

Existe alguma maneira de excluir o código da árvore? Só preciso do dispositivo Nexus 7 (wifi) (garoupa). Posso excluir algum projeto? Se sim, como?

Estou usando o Ubuntu 12.04 e repo.

(Estou usando tablets Android para educar crianças em partes muito pobres do mundo. Quero bloquear a interface do usuário, para que as crianças possam usar apenas os aplicativos educacionais. Como medida antifurto, preciso ativar a criação de um ponto de acesso Wi-Fi e faça com que os tablets se desativem se não estiverem conectados a outros tablets via Wi-Fi por 48 horas.)


2
Talvez você possa clonar --depth 0para obter apenas a revisão mais recente? Ou um checkout escassa: Checkouts subdiretório com git esparsa-checkout »Código Nomad
slhck

Concordo com o Nomad. Grande parte da fonte é o histórico da versão. As partes específicas do dispositivo não são muito. Além disso, em vez de clonagem de todo o sistema operacional, você pode simplesmente obter os repositórios git para a parte que você está interessado.
Nicholaz

Muito obrigado, esse é um conselho inestimável para alguém em uma terrível conexão à Internet! No arquivo 'repo', há a seção: group.add_option('--depth', type='int', default=None, dest='depth', help='create a shallow clone with given depth; see git clone')Alterei a profundidade padrão para 0 e reiniciei a sincronização de repo. Vou relatar se isso fizer o que eu quero.
Chris

Não tenho certeza se isso funcionou ou não - a fonte completa ainda tinha 42 GB, o que alguém diz ser a árvore completa. Ainda não posso confirmar, pois estou no meio do processo local.
Chris

2
Caro OP: Sua pergunta é boa. No entanto, você perguntou no site errado. Se você tivesse feito sua pergunta no lugar certo (no Stack Overflow), teria recebido mais e melhores respostas. Fiz uma pergunta semelhante novamente no Stack Overflow ; por favor, vá lá se você quiser ver melhores respostas.
unforgettableidSupportsMonica

Respostas:


36

Isso pode ser tarde demais. Mas:

  • Você poderia passar --depth=1para repo initobter um clone superficial.
  • E você pode usar repo sync -cpara fazer checkout apenas da ramificação atual.

5
Pode ser tarde demais para ajudar o solicitante original. Mas ainda não é tarde para ajudar outras pessoas que também querem criar um clone superficial do Android.
unforgettableidSupportsMonica

6
Ótima dica. Mais uma dica: Eu uso repo sync -c -n -j 4 && repo sync -c -l -j 16para uma mais rápida sincronização
Korniltsev Anatoly

0

Enquanto a sincronização de repo é chamada, embora uma ramificação específica seja selecionada, o código de todas as ramificações é baixado. Para limitar o tamanho do download, você pode baixar manualmente o código no site do github. Assim, você pode baixar o código da filial que deseja.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.