The --mirror switch pulls down all refs in a repository, even ones that aren't regular branches and tags. Since sites like GitHub stores a ref for every pull request under the refs/pull/ namespace, --mirror will pull down the history that has been part of every pull request, even after a someone has for example run git-filter-branch on it to get some big binaries out of the history, which sometimes blows the repository size and the time to clone it up by a very large factor. Using --bare solves this as it only pulls down branches and tags, and all makepkg needs is a bare repository. Signed-off-by: Johannes Löthberg <johannes@kyriasis.com> --- scripts/makepkg.sh.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index 8a67d94..d3854be 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -542,7 +542,7 @@ download_git() { if [[ ! -d "$dir" ]] || dir_is_empty "$dir" ; then msg2 "$(gettext "Cloning %s %s repo...")" "${repo}" "git" - if ! git clone --mirror "$url" "$dir"; then + if ! git clone --bare "$url" "$dir"; then error "$(gettext "Failure while downloading %s %s repo")" "${repo}" "git" plain "$(gettext "Aborting...")" exit 1 -- 2.1.3