O Makepkg não clona o repositório de novo a cada vez, há um cheque para um clone já existente em sua origem. Se um clone não vazio for encontrado com o URL remoto correto, tudo o que o makepkg faz é buscar os novos commits . Isto será parecido com o seguinte na saída do makepkgs:
==> Retrieving sources...
-> Updating mpd-git git repo...
Fetching origin
remote: Compressing objects: 100% (91/91), done.
remote: Total 481 (delta 392), reused 479 (delta 390)
Receiving objects: 100% (481/481), 64.87 KiB | 0 bytes/s, done.
Resolving deltas: 100% (392/392), completed with 99 local objects.
From file:///home/wieland/dev/mpd
cd1148c..3fa4dad master -> master
cd1148c..3fa4dad origin/master -> origin/master
0d7ee2b..b0ff3bc origin/v0.19.x -> origin/v0.19.x
* [new tag] v0.19.10 -> v0.19.10
A menos que você passe --clean
ou --cleanbuild
para o makepkg, ele também não removerá o diretório de origem usado para construir o pacote, portanto, em teoria, você não precisaria reconstruir o pacote inteiro. No entanto, pode haver casos em que o script de configuração ou outros scripts chamados em build()
façam com que o processo de compilação recompile tudo.