Faça o download de várias ramificações para o mesmo diretório usando repo

1

repo é um script python que gerencia o download do código-fonte do cyanogenmodem.

para fazer o download do branch cm-10.1, o comando repo é

cd ~/cm-10.1

repo init -u https://github.com/CyanogenMod/android.git -b cm-10.1

cd ~/cm-11

então podemos usar a opção --reference para baixar o código-fonte cm-11 como

repo init --reference=~/cm-10.1 -u https://github.com/CyanogenMod/android.git -b cm-11.0

mas, que baixa os dados delta no diretório cm-11.

Eu quero baixar todos os ramos cyanogenmod em um único diretório e construir conforme necessário. Como posso fazer isso?

    
por d6cbe4 03.03.2015 / 18:48

1 resposta

0

Como você está usando o mesmo URL para todas as ramificações, é possível fazer o download delas em uma única pasta e ainda assim eles são mantidos separados.

Você pode baixar várias ramificações de arquivos de projeto em uma única pasta .repo em um único diretório de trabalho. Isso economiza espaço em disco e elimina obstáculos como o caminho sensível repo --reference , incapacidade de usar várias referências.

Para baixar todas as filiais na mesma pasta .repo , faça

repo init -u https://github.com/CyanogenMod/android.git -b cm-10.1
repo sync
repo init -b cm-10.2
repo sync
repo init -b cm-11.0
repo sync

e a lista vai ...
Isso faz o download de todas as ramificações para a única pasta .repo em um único diretório de trabalho. Ao inicializar uma segunda ramificação, não fornecemos a opção -u url porque estamos reutilizando uma ramificação diferente da repo local.

Depois de repo sync , o diretório de trabalho contém o último ramo inicializado e isso é completamente inofensivo. Estamos preocupados apenas com o diretório de trabalho, não com o conteúdo da pasta .repo . Os galhos ainda ficam separados.

Ocasionalmente, você pode usar repo forall -c git gc para agrupar todos os objetos soltos nos arquivos do pacote.

    
por 14.11.2015 / 18:35