diff --git a/kicad-cleanup-repo b/kicad-cleanup-repo new file mode 100755 index 0000000000000000000000000000000000000000..457c735a6df941ddb6f1a44b86f438d32c647a23 --- /dev/null +++ b/kicad-cleanup-repo @@ -0,0 +1,9 @@ +#!/bin/bash + +echo -n "Are you sure you wan't to rewrite git history [no/yes] " +read -r LINE +if [[ "${LINE}" == "yes" ]] ; then + HOME=/dev/null git filter-branch \ + --prune-empty \ + --tree-filter "$(dirname $0)/kicad-filter-branch" HEAD +fi \ No newline at end of file diff --git a/kicad-filter-branch b/kicad-filter-branch new file mode 100755 index 0000000000000000000000000000000000000000..b5396c9389cd10925a9db1955c33655f571b7529 --- /dev/null +++ b/kicad-filter-branch @@ -0,0 +1,25 @@ +#!/bin/bash + +echo +cat<<EOF > .gitattributes +*.pro filter=kicad-pro +*.sch ident +*.sch filter=kicad-sch +EOF +ls 1>&2 +for f in * .??* ; do + echo "$(git hash-object $f) $f" +done + +for f in $(find . -name '*.sch') ; do + TMP=$(mktemp) + echo "Cleaning $f" 1>&2 + cat "$f" | $(dirname "$0")/kicad-sch-filter clean "$f" > "${TMP}" + mv "${TMP}" "$f" +done +for f in $(find . -name '*.pro') ; do + TMP=$(mktemp) + echo "Cleaning $f" 1>&2 + cat "$f" | $(dirname "$0")/kicad-pro-filter clean "$f" > "${TMP}" + mv "${TMP}" "$f" +done