diff --git a/push-all.sh b/push-all.sh new file mode 100755 index 0000000..c6058bf --- /dev/null +++ b/push-all.sh @@ -0,0 +1,69 @@ +#!/bin/bash +# +# push-all.sh - Push TrueRecall v2 to all remotes +# +# Usage: ./push-all.sh [commit-message] +# If commit-message provided, will commit first +# + +set -e + +REPO_DIR="/root/.openclaw/workspace/.main_projects/true-recall-v2" +cd "$REPO_DIR" + +# Colors for output +RED='\033[0;31m' +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +NC='\033[0m' # No Color + +echo "==========================================" +echo "TrueRecall v2 - Push to All Remotes" +echo "==========================================" + +# Optional: commit if message provided +if [ -n "$1" ]; then + echo -e "${YELLOW}Committing changes...${NC}" + git add -A + git commit -m "$1" || echo "Nothing to commit" +fi + +# Check for uncommitted changes +if ! git diff-index --quiet HEAD --; then + echo -e "${YELLOW}Warning: You have uncommitted changes${NC}" + echo "Run: git add -A && git commit -m 'your message'" + echo "Or: ./push-all.sh 'your commit message'" + exit 1 +fi + +# Push to each remote +remotes=("gitea" "github" "gitlab") +failed=() + +for remote in "${remotes[@]}"; do + echo "" + echo -e "${YELLOW}Pushing to $remote...${NC}" + + if git push "$remote" main; then + echo -e "${GREEN}✓ $remote pushed successfully${NC}" + else + echo -e "${RED}✗ $remote push failed${NC}" + failed+=("$remote") + fi +done + +# Summary +echo "" +echo "==========================================" +if [ ${#failed[@]} -eq 0 ]; then + echo -e "${GREEN}All remotes pushed successfully!${NC}" +else + echo -e "${RED}Failed to push to: ${failed[*]}${NC}" + echo "You may need to authenticate or fix network issues." +fi +echo "==========================================" + +# Show current remotes +echo "" +echo "Current remotes:" +git remote -v