derename.sh
[fanfix.git] / derename.sh
diff --git a/derename.sh b/derename.sh
new file mode 100755 (executable)
index 0000000..6c8cbff
--- /dev/null
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+git status | grep renamed: | sed 's/[^:]*: *\([^>]*\) -> \(.*\)/\1>\2/g' | while read -r ln; do
+       old="`echo "$ln" | cut -f1 -d'>'`"
+       new="`echo "$ln" | cut -f2 -d'>'`"
+       mkdir -p "`dirname "$old"`"
+       git mv "$new" "$old"
+       rmdir "`dirname "$new"`" 2>/dev/null
+       true
+done
+