From e3e0eebfc928ee77fa4676f33969e1856d73588c Mon Sep 17 00:00:00 2001
From: Anders Blomdell <anders.blomdell@control.lth.se>
Date: Mon, 4 Jun 2018 17:13:47 +0200
Subject: [PATCH] Added history rewriting scripts

---
 kicad-cleanup-repo  |  9 +++++++++
 kicad-filter-branch | 25 +++++++++++++++++++++++++
 2 files changed, 34 insertions(+)
 create mode 100755 kicad-cleanup-repo
 create mode 100755 kicad-filter-branch

diff --git a/kicad-cleanup-repo b/kicad-cleanup-repo
new file mode 100755
index 0000000..457c735
--- /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 0000000..b5396c9
--- /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
-- 
GitLab