47 lines
1.1 KiB
Bash
Executable File
47 lines
1.1 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
# Trims the jungle repository by moving the website to its own repository and
|
|
# removing it from jungle. It also removes big pdf files and kernel
|
|
# configurations so the jungle repository is small.
|
|
|
|
set -e
|
|
|
|
if [ -e oldjungle -o -e newjungle -o -e website ]; then
|
|
echo "remove oldjungle/, newjungle/ and website/ first"
|
|
exit 1
|
|
fi
|
|
|
|
# Clone the old jungle repo
|
|
git clone gitea@tent:rarias/jungle.git oldjungle
|
|
|
|
# First split the website into a new repository
|
|
mkdir website && git -C website init -b master
|
|
git-filter-repo \
|
|
--path web \
|
|
--subdirectory-filter web \
|
|
--source oldjungle \
|
|
--target website
|
|
|
|
# Then remove the website, pdf files and big kernel configs
|
|
mkdir newjungle && git -C newjungle init -b master
|
|
git-filter-repo \
|
|
--invert-paths \
|
|
--path web \
|
|
--path-glob 'doc*.pdf' \
|
|
--path-glob '**/kernel/configs/lockdep' \
|
|
--path-glob '**/kernel/configs/defconfig' \
|
|
--source oldjungle \
|
|
--target newjungle
|
|
|
|
set -x
|
|
|
|
du -sh oldjungle newjungle website
|
|
# 57M oldjungle
|
|
# 2,3M newjungle
|
|
# 6,4M website
|
|
|
|
du -sh --exclude=.git oldjungle newjungle website
|
|
# 30M oldjungle
|
|
# 700K newjungle
|
|
# 3,5M website
|