patch.sh 953 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. #!/usr/bin/env bash
  2. set -e
  3. echo "$#"
  4. cd vscode || { echo "'vscode' dir not found"; exit 1; }
  5. git add .
  6. git reset -q --hard HEAD
  7. while [[ -n "$( git log -1 | grep "VSCODIUM HELPER" )" ]]; do
  8. git reset -q --hard HEAD~
  9. done
  10. git apply --reject "../patches/helper/settings.patch"
  11. while [ $# -gt 1 ]; do
  12. echo "Parameter: $1"
  13. if [[ "${1}" == *patch ]]; then
  14. FILE="../patches/${1}"
  15. else
  16. FILE="../patches/${1}.patch"
  17. fi
  18. git apply --reject "${FILE}"
  19. shift
  20. done
  21. git add .
  22. git commit --no-verify -q -m "VSCODIUM HELPER"
  23. if [[ "${1}" == *patch ]]; then
  24. FILE="../patches/${1}"
  25. else
  26. FILE="../patches/${1}.patch"
  27. fi
  28. if [[ -f "${FILE}" ]]; then
  29. if [[ -f "${FILE}.bak" ]]; then
  30. mv -f $FILE{.bak,}
  31. fi
  32. git apply --reject "${FILE}" || true
  33. fi
  34. read -rp "Press any key when the conflict have been resolved..." -n1 -s
  35. git add .
  36. git diff --staged -U1 > "${FILE}"
  37. git reset -q --hard HEAD~
  38. echo "The patch has been generated."