mirror of https://github.com/jetkvm/kvm.git
47 lines
1.1 KiB
Bash
Executable File
47 lines
1.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# Check if a commit message was provided
|
|
if [ -z "$1" ]; then
|
|
echo "Usage: $0 \"Your commit message here\""
|
|
exit 1
|
|
fi
|
|
|
|
COMMIT_MESSAGE="$1"
|
|
|
|
# Ensure you're on the main branch
|
|
git checkout main
|
|
|
|
# Add 'public' remote if it doesn't exist
|
|
if ! git remote | grep -q '^public$'; then
|
|
git remote add public https://github.com/jetkvm/kvm.git
|
|
fi
|
|
|
|
# Fetch the latest from the public repository
|
|
git fetch public || true
|
|
|
|
# Create a temporary branch for the release
|
|
git checkout -b release-temp
|
|
|
|
# If public/main exists, reset to it; else, use the root commit
|
|
if git ls-remote --heads public main | grep -q 'refs/heads/main'; then
|
|
git reset --soft public/main
|
|
else
|
|
git reset --soft "$(git rev-list --max-parents=0 HEAD)"
|
|
fi
|
|
|
|
# Merge changes from main
|
|
git merge --squash main
|
|
|
|
# Commit all changes as a single release commit
|
|
git commit -m "$COMMIT_MESSAGE"
|
|
|
|
# Force push the squashed commit to the public repository
|
|
git push --force public release-temp:main
|
|
|
|
# Switch back to main and delete the temporary branch
|
|
git checkout main
|
|
git branch -D release-temp
|
|
|
|
# Remove the public remote
|
|
git remote remove public
|