Guest User

Untitled

a guest
May 25th, 2018
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.78 KB | None | 0 0
  1. #!/bin/bash
  2. set -eu
  3. BRANCH_A="$1"
  4. shift
  5. BRANCH_B="$1"
  6. shift
  7. PATHS="$@"
  8. BRANCH_A_COMMITS=$(mktemp)
  9. ONLY_IN_BRANCH_A=$(mktemp)
  10. BRANCH_B_COMMITS=$(mktemp)
  11. ONLY_IN_BRANCH_B=$(mktemp)
  12. git log --format="%s" ${BRANCH_A} -- ${PATHS} > ${BRANCH_A_COMMITS}
  13. git log --format="%s" ${BRANCH_B} -- ${PATHS} > ${BRANCH_B_COMMITS}
  14. if grep -vFf "${BRANCH_B_COMMITS}" "${BRANCH_A_COMMITS}" > ${ONLY_IN_BRANCH_A} ;
  15. then
  16. echo "Only in ${BRANCH_A}:"
  17. git log --format="%h %an: %s" ${BRANCH_A} | grep -Ff ${ONLY_IN_BRANCH_A}
  18. fi
  19. if grep -vFf "${BRANCH_A_COMMITS}" "${BRANCH_B_COMMITS}" > ${ONLY_IN_BRANCH_B} ;
  20. then
  21. echo "Only in ${BRANCH_B}:"
  22. git log --format="%h %an: %s" ${BRANCH_B} | grep -Ff ${ONLY_IN_BRANCH_B}
  23. fi
  24. rm ${ONLY_IN_BRANCH_B}
  25. rm ${BRANCH_B_COMMITS}
  26. rm ${ONLY_IN_BRANCH_A}
  27. rm ${BRANCH_A_COMMITS}
Add Comment
Please, Sign In to add comment