Advertisement
TugaPower

change

May 6th, 2016
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.51 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. # Colorize and add text parameters
  4. grn=$(tput setaf 2) # green
  5. txtbld=$(tput bold) # Bold
  6. bldblu=${txtbld}$(tput setaf 4) # blue
  7. txtrst=$(tput sgr0) # Reset
  8.  
  9. rdir=`pwd`
  10. CURRENT_DATE=`date +%Y%m%d`
  11. LAST_DATE=`sed -n -e'/ro.build.date.utc/s/^.*=//p' $rdir/last_build.prop`
  12. CUSTOM_DATE="$1"
  13.  
  14. # Generate Changelog
  15. echo -e "${bldblu}Generating Changelog ${txtrst}"
  16. if [ -z "$CUSTOM_DATE" ]; then
  17. if [ -z "$LAST_DATE" ]; then
  18. WORKING_DATE=`date +%s -d "1 day ago"`
  19. else
  20. WORKING_DATE=${LAST_DATE}
  21. fi
  22. else
  23. WORKING_DATE=${CUSTOM_DATE}
  24. fi
  25.  
  26. CHANGELOG=$rdir/Changelog_${CURRENT_DATE}.txt
  27.  
  28. # Remove existing changelog
  29. file="$CHANGELOG"
  30. if [ -f "$file" ]; then
  31. echo -e "${bldblu}Removing existing ${CHANGELOG} ${txtrst}"
  32. rm $CHANGELOG;
  33. fi
  34.  
  35. # Find the directories to log
  36. find $rdir -name .git | sed 's/\/.git//g' | sed 'N;$!P;$!D;$d' | while read line
  37. do
  38. cd $line
  39. # Test to see if the repo needs to have a changelog written.
  40. log=$(git log --pretty="%an - %s" --no-merges --since=$WORKING_DATE --date-order)
  41. project=$(git remote -v | head -n1 | awk '{print $2}' | sed 's/.*\///' | sed 's/\.git//')
  42. if [ ! -z "$log" ]; then
  43. # Write the changelog
  44. echo -e "${grn}$project is updated ${txtrst}"
  45. echo "Project name: $project" >> $CHANGELOG
  46. echo "$log" | while read line
  47. do
  48. echo " *$line" >> $CHANGELOG
  49. done
  50. echo "" >> $CHANGELOG
  51. fi
  52. done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement