#!/bin/sh set -e DOTFILES="$HOME/nixos-dotfiles" LIST="$DOTFILES/scripts/configs.txt" cd "$DOTFILES" while IFS='|' read -r src dst url; do [ -z "$url" ] && continue [ ! -d "$src" ] && continue echo "=== Fixing $src ===" git push "$url" "$(git subtree split --prefix="$src"):master" --force rm -rf "$src" git add -A git commit -m "Remove $src for subtree re-add" git subtree add --prefix="$src" "$url" master done < "$LIST" echo "Done. All subtrees now have proper history."