fix(backup): show commits since last backup instead of total count
This commit is contained in:
parent
66899f3891
commit
2e86353e77
@ -75,10 +75,7 @@ backup_repo() {
|
||||
fi
|
||||
|
||||
# Gather repo stats
|
||||
local total_commits=$(git rev-list --count HEAD 2>/dev/null || echo "0")
|
||||
local last_msg=$(git log -1 --pretty=format:'%s' 2>/dev/null | head -c 50)
|
||||
local last_author=$(git log -1 --pretty=format:'%an' 2>/dev/null)
|
||||
local last_date=$(git log -1 --pretty=format:'%ar' 2>/dev/null)
|
||||
|
||||
# Push any unpushed main commits first
|
||||
local ahead_count=0
|
||||
@ -101,9 +98,16 @@ backup_repo() {
|
||||
git fetch origin 'refs/heads/backup/*:refs/remotes/origin/backup/*' 2>/dev/null || true
|
||||
|
||||
# Check if backup is needed (compare HEAD with latest backup)
|
||||
# Fix: use cut -d'/' -f2- to get the full branch path after 'origin/'
|
||||
LATEST_BACKUP=$(git branch -r --sort=-committerdate 2>/dev/null | grep 'origin/backup/main-' | head -1 | sed 's|^[[:space:]]*origin/||' || true)
|
||||
|
||||
# Count commits since last backup
|
||||
local commits_since=0
|
||||
if [ -n "$LATEST_BACKUP" ]; then
|
||||
commits_since=$(git rev-list --count "origin/$LATEST_BACKUP"..HEAD 2>/dev/null || echo "0")
|
||||
else
|
||||
commits_since=$(git rev-list --count HEAD 2>/dev/null || echo "0")
|
||||
fi
|
||||
|
||||
if [ -n "$LATEST_BACKUP" ]; then
|
||||
MAIN_COMMIT=$(git rev-parse HEAD 2>/dev/null || echo "")
|
||||
BACKUP_COMMIT=$(git rev-parse "origin/$LATEST_BACKUP" 2>/dev/null || echo "")
|
||||
@ -112,7 +116,7 @@ backup_repo() {
|
||||
echo -e " ${GREEN}✅ Already backed up → $LATEST_BACKUP${NC}"
|
||||
SUMMARY_REPO[$SUMMARY_IDX]="$repo_name"
|
||||
SUMMARY_STATUS[$SUMMARY_IDX]="✅ Already backed up"
|
||||
SUMMARY_COMMITS[$SUMMARY_IDX]="$total_commits"
|
||||
SUMMARY_COMMITS[$SUMMARY_IDX]="0"
|
||||
SUMMARY_LAST_MSG[$SUMMARY_IDX]="$last_msg"
|
||||
SUMMARY_BRANCH[$SUMMARY_IDX]="$LATEST_BACKUP"
|
||||
SUMMARY_PUSHED[$SUMMARY_IDX]="$pushed_main"
|
||||
@ -153,11 +157,11 @@ backup_repo() {
|
||||
|
||||
SUMMARY_REPO[$SUMMARY_IDX]="$repo_name"
|
||||
SUMMARY_STATUS[$SUMMARY_IDX]="$backup_status"
|
||||
SUMMARY_COMMITS[$SUMMARY_IDX]="$total_commits"
|
||||
SUMMARY_COMMITS[$SUMMARY_IDX]="$commits_since"
|
||||
SUMMARY_LAST_MSG[$SUMMARY_IDX]="$last_msg"
|
||||
SUMMARY_BRANCH[$SUMMARY_IDX]="$BACKUP_BRANCH"
|
||||
SUMMARY_PUSHED[$SUMMARY_IDX]="$pushed_main"
|
||||
((SUMMARY_IDX++))
|
||||
SUMMARY_IDX=$((SUMMARY_IDX + 1))
|
||||
}
|
||||
|
||||
# Backup all repositories
|
||||
@ -187,7 +191,7 @@ echo ""
|
||||
echo -e "${BOLD}┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐${NC}"
|
||||
echo -e "${BOLD}│ BACKUP SUMMARY $(date '+%Y-%m-%d %H:%M') │${NC}"
|
||||
echo -e "${BOLD}├──────────────────────────────────┬──────────────────────┬─────────┬────────────────┬──────────────────────────────────┤${NC}"
|
||||
printf "${BOLD}│ %-32s │ %-20s │ %7s │ %-14s │ %-32s │${NC}\n" "Repository" "Backup Status" "Commits" "Main Push" "Last Commit"
|
||||
printf "${BOLD}│ %-32s │ %-20s │ %7s │ %-14s │ %-32s │${NC}\n" "Repository" "Backup Status" "New" "Main Push" "Last Commit"
|
||||
echo -e "${BOLD}├──────────────────────────────────┼──────────────────────┼─────────┼────────────────┼──────────────────────────────────┤${NC}"
|
||||
|
||||
for ((i=0; i<SUMMARY_IDX; i++)); do
|
||||
|
||||
Loading…
Reference in New Issue
Block a user