Guest User

Untitled

a guest
Nov 20th, 2017
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.57 KB | None | 0 0
  1. #!/usr/bin/env bash
  2.  
  3. NOT_GIT_REPO=1
  4.  
  5. if $(git rev-list --all &>/dev/null)
  6. then
  7. echo "Detect git repo, continue now..."
  8. else
  9. echo "Could not find any git repo here!"
  10. exit $NOT_GIT_REPO
  11. fi
  12.  
  13. mkdir -p tmp/
  14. THREADS=20
  15. DATETIME="$(date '+%Y-%m-%dT%H:%M:%S')"
  16. REPORT_FILE_NAME="tmp/git-report_$DATETIME.omg"
  17.  
  18. echo "CREATED AT: $(date)" > $REPORT_FILE_NAME
  19. echo "PATH: $(pwd)" >> $REPORT_FILE_NAME
  20.  
  21. # Search something like:
  22. # password = "ss", or not space
  23. # password = 'ss', or not space
  24. # password: 'ss'
  25. # something['password'] = 'ss'
  26. # something["password"] = 'ss'
  27. SEARCH_PATTERN="^diff\s|^\+.*(password|api_key|app_key|access_id|access_key|secret|license|token|app_id)(['\"]?\]?\s?[:=]>?\s?)+|[0-9A-Za-z\-]{16,128}['\"]"
  28. DIRECTORIES="app/**/*.(rb|js) config/ db/ lib/ test/"
  29. if (ls spec/ &>/dev/null)
  30. then
  31. DIRECTORIES="$DIRECTORIES spec/"
  32. fi
  33. echo "Will search in folders: $DIRECTORIES"
  34.  
  35. git rev-list --all | (
  36. while read revision; do
  37. git show -b --format= $revision $DIRECTORIES | awk -v revision="$revision" '{ if ($1 == "diff") { print $0"@"revision } else { print $0 } }' | grep -E $SEARCH_PATTERN
  38. # git show -b --format= $revision $DIRECTORIES | grep -b -E $SEARCH_PATTERN
  39. done
  40. ) >> $REPORT_FILE_NAME
  41.  
  42. STATS=$(cat <<-GIT_REPO_STATS
  43. total revisions count: $(git rev-list --all | wc -l)
  44. total matched lines: $(wc -l $REPORT_FILE_NAME)
  45. GIT_REPO_STATS
  46. )
  47.  
  48. echo "FINISHED! The below shows repo stats:"
  49. echo ">===================================<"
  50. echo "$STATS"
  51. echo ">===================================<"
  52. echo "Now please open \"$REPORT_FILE_NAME\" to check informations!"
Add Comment
Please, Sign In to add comment