#!/bin/bash set -ex DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null && pwd)" cd $DIR # git clone --mirror SRC=/tmp/openpilot.git/ OUT=/tmp/smallpilot/ echo "starting size $(du -hs .git/)" rm -rf $OUT cd $SRC git remote update # copy contents #rsync -a --exclude='.git/' $DIR $OUT cp -r $SRC $OUT cd $OUT # remove all tags git tag -l | xargs git tag -d # remove non-master branches BRANCHES="release2 release3 devel master-ci nightly" for branch in $BRANCHES; do git branch -D $branch git branch -D ${branch}-staging || true done #git gc git reflog expire --expire=now --all git gc --prune=now git gc --aggressive --prune=now echo "new one is $(du -hs .)"