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 <[email protected]>
---
 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

Reply via email to