Come posso limitare la dimensione della fonte Android che devo scaricare con "repo sync"?


16

Sto programmando di partire per un Paese con una scarsa connessione a Internet, dove spero di fare qualche sviluppo software.

Ho usato repo syncper sincronizzare la fonte Android (e la fonte CyanogenMod sul mio server AWS). Ma sono così grandi (> 30 GB) che non li avrò prima di lasciare il mio paese.

Esiste un modo per escludere il codice dall'albero? Ho solo bisogno del dispositivo Nexus 7 (wifi) (cernia). Posso escludere qualche progetto? Se é cosi, come?

Sto usando Ubuntu 12.04 e repo.

(Sto usando tablet Android per educare i bambini in parti molto povere del mondo. Voglio bloccare l'interfaccia utente, in modo che i bambini possano usare solo le app educative. Come misura antifurto, devo abilitare la creazione di un hot spot Wi-Fi e fai in modo che i tablet si disabilitino se non sono connessi ad altri tablet tramite Wi-Fi per 48 ore.)


2
Forse puoi clonare in --depth 0modo da ottenere solo l'ultima revisione? O un checkout sparse: checkout della sottodirectory con git sparse-checkout »Code Nomad
slhck

Accetto con Nomad. Gran parte della fonte è la cronologia delle versioni. Le parti specifiche del dispositivo non sono molto. Inoltre, invece di clonare l'intero sistema operativo, potresti semplicemente ottenere i repository git per la parte che ti interessa.
Nicholaz

Grazie enormi, questo è un consiglio inestimabile per qualcuno su una terribile connessione a Internet! Nel file 'repo', c'è la sezione: group.add_option('--depth', type='int', default=None, dest='depth', help='create a shallow clone with given depth; see git clone')Ho cambiato la profondità predefinita a 0 e ho riavviato la sincronizzazione repo. Riporterò indietro se questo fa quello che voglio.
Chris,

Non sono sicuro che funzionasse o meno: la fonte completa era ancora 42 GB, che qualcuno dice che è l'albero pieno. Non riesco ancora a confermare dato che sono a metà strada per farlo localmente.
Chris,

2
Caro OP: la tua domanda è buona. Tuttavia, l'hai chiesto sul sito Web sbagliato. Se avessi posto la tua domanda nel posto giusto (su Stack Overflow), avresti ottenuto risposte sempre migliori. Ho ripetuto una domanda simile su Stack Overflow ; per favore, vai lì se vuoi vedere risposte migliori.
indimenticabileidSupportsMonica

Risposte:


36

Potrebbe essere troppo tardi. Ma:

  • Potresti passare --depth=1per repo initottenere un clone superficiale.
  • E puoi usare repo sync -cper controllare solo il ramo corrente.

5
Potrebbe essere troppo tardi per aiutare il richiedente originale. Ma non è troppo tardi per aiutare altre persone che vogliono anche fare un clone superficiale di Android.
indimenticabileSupportaMonica

6
Ottimo consiglio Un altro consiglio: lo uso repo sync -c -n -j 4 && repo sync -c -l -j 16per una sincronizzazione più rapida
Korniltsev Anatoly il

0

Mentre viene invocata la sincronizzazione repository, sebbene sia selezionato un ramo specifico, il codice di tutti i rami viene scaricato. Al fine di limitare le dimensioni del download, è possibile scaricare manualmente il codice dal sito Web di Github. In questo modo, puoi scaricare il codice dalla filiale che desideri.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.