sync 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #!/usr/bin/env bash
  2. #
  3. # Upload changes from inside repository using GIN CLI
  4. # Works with submodules.
  5. # Assumes gin init was performed or the repository was downloaded via gin get
  6. if (( $# > 0 )); then
  7. echo "This script takes no arguments"
  8. exit 1
  9. fi
  10. checkerror() {
  11. err=$1
  12. msg=$2
  13. if [[ ${err} != 0 ]]; then
  14. echo "${msg}" >> ./log/gin.log
  15. echo "${msg}"
  16. echo "Press [Enter] to close this window"
  17. read -r
  18. exit 1
  19. fi
  20. }
  21. mkdir -p ./log
  22. echo "$(date -Iseconds): Sync script executed" >> ./log/gin.log
  23. echo "Synchronising submodules"
  24. git submodule foreach gin sync
  25. checkerror $? "Error occurred during 'gin sync'"
  26. git submodule foreach gin commit .
  27. checkerror $? "Error occurred during 'gin commit'"
  28. git submodule foreach gin upload
  29. checkerror $? "Error occurred during 'gin upload'"
  30. echo "Synchronising main repository"
  31. gin sync
  32. gin commit .
  33. gin upload
  34. # Uncomment the two lines below to download all large files
  35. # gin get-content .
  36. # checkerror $? "Error occurred during 'gin get-content'"