Advertisement
valodik666

Commit list based on ticket numbers

Mar 14th, 2025
281
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.21 KB | Source Code | 0 0
  1. #!/bin/bash
  2.  
  3. # Ensure tickets.txt exists
  4. if [[ ! -f tickets.txt ]]; then
  5.     echo "❌ Error: tickets.txt not found!"
  6.     exit 1
  7. fi
  8.  
  9. # Output file
  10. OUTPUT_FILE="commit_report.txt"
  11. > "$OUTPUT_FILE"  # Clear the output file before writing
  12.  
  13. # Loop through each ticket number (trim whitespace)
  14. while IFS= read -r ticket || [[ -n "$ticket" ]]; do
  15.     ticket=$(echo "$ticket" | tr -d '\r')  # Remove potential Windows CR characters
  16.     if [[ -z "$ticket" ]]; then
  17.         continue  # Skip empty lines
  18.     fi
  19.  
  20.     echo "🔹 Commits for: $ticket" | tee -a "$OUTPUT_FILE"
  21.  
  22.     # Find commits matching the ticket number
  23.     commits=$(git log drattack --grep="$ticket" --format="%H")
  24.  
  25.     if [[ -n "$commits" ]]; then
  26.         for commit in $commits; do
  27.             echo "➡ Commit: $commit" | tee -a "$OUTPUT_FILE"
  28.             git show --stat --name-only "$commit" | tee -a "$OUTPUT_FILE"
  29.             echo "--------------------------------------" | tee -a "$OUTPUT_FILE"
  30.         done
  31.     else
  32.         echo "❗ No commits found for $ticket" | tee -a "$OUTPUT_FILE"
  33.         echo "--------------------------------------" | tee -a "$OUTPUT_FILE"
  34.     fi
  35. done < tickets.txt
  36.  
  37. echo "✅ Report generated: $OUTPUT_FILE"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement