add git-split.sh

This commit is contained in:
2024-06-17 15:17:36 +02:00
parent ae198c891f
commit c6ed9b68f5

33
scripts/git-split.sh Normal file
View File

@@ -0,0 +1,33 @@
#!/usr/bin/env bash
#
# Copy a git file, keeping history.
# Source: https://stackoverflow.com/a/53849613/3079831
if (( $# != 2 )) ; then
echo "Usage: git-split.sh original copy"
exit 1
fi
from="$1"
to="$2"
branch="split-file"
tmp="$from-temp-copy"
git switch -c "$branch"
git mv "$from" "$to"
git commit -n -m "Split $from to $to - step 1"
#REV=$(git rev-parse HEAD)
git switch -
git mv "$from" "$tmp"
git commit -n -m "Split $from to $to - step 2"
git merge "$branch"
git commit -a -n -m "Split $from to $to - step 3"
git mv "$tmp" "$from"
git commit -n -m "Split file $from to $to - step 4"
git branch -d "$branch"
exit 0