|
20 | 20 | BRANCH="$(cd "${SCRIPT_DIR}" && git rev-parse --abbrev-ref HEAD)" |
21 | 21 |
|
22 | 22 | MODULE_DIR="${SCRIPT_DIR}/_modules" |
| 23 | +# Calculate hash before fetch |
| 24 | +if [[ -d "${MODULE_DIR}" && -n "$(ls -A "${MODULE_DIR}" 2>/dev/null)" ]]; then |
| 25 | + MODULES_HASH_BEFORE=$(find "${MODULE_DIR}" -type f -exec sha256sum {} \; 2>/dev/null | sort | sha256sum | awk '{print $1}') |
| 26 | +else |
| 27 | + MODULES_HASH_BEFORE="EMPTY" |
| 28 | +fi |
| 29 | + |
| 30 | +echo -e "\e[33mFetching latest _modules from origin/${BRANCH}…\e[0m" |
| 31 | +git fetch origin "${BRANCH}" |
| 32 | +git checkout "origin/${BRANCH}" -- _modules |
| 33 | + |
23 | 34 | if [[ ! -d "${MODULE_DIR}" || -z "$(ls -A "${MODULE_DIR}")" ]]; then |
24 | | - echo -e "\e[33m_modules is missing or empty – fetching all Modules from origin/${BRANCH}…\e[0m" |
25 | | - git fetch origin "${BRANCH}" |
26 | | - git checkout "origin/${BRANCH}" -- _modules |
27 | | - echo -e "\e[33mDone. Please restart the script...\e[0m" |
| 35 | + echo -e "\e[31mError: _modules is still missing or empty after fetch!\e[0m" |
| 36 | + exit 2 |
| 37 | +fi |
| 38 | + |
| 39 | +# Calculate hash after fetch |
| 40 | +MODULES_HASH_AFTER=$(find "${MODULE_DIR}" -type f -exec sha256sum {} \; 2>/dev/null | sort | sha256sum | awk '{print $1}') |
| 41 | + |
| 42 | +# Check if modules changed |
| 43 | +if [[ "${MODULES_HASH_BEFORE}" != "${MODULES_HASH_AFTER}" ]]; then |
| 44 | + echo -e "\e[33m_modules have been updated. Please restart the update script.\e[0m" |
28 | 45 | exit 2 |
29 | 46 | fi |
30 | 47 |
|
@@ -320,28 +337,6 @@ if [ ! "$DEV" ]; then |
320 | 337 | chmod +x update.sh |
321 | 338 | EXIT_COUNT+=1 |
322 | 339 | fi |
323 | | - |
324 | | - MODULE_DIR="$(dirname "$0")/_modules" |
325 | | - echo -e "\e[32mChecking for updates in _modules...\e[0m" |
326 | | - if [ ! -d "${MODULE_DIR}" ] || [ -z "$(ls -A "${MODULE_DIR}")" ]; then |
327 | | - echo -e "\e[33m_modules missing or empty — fetching from origin...\e[0m" |
328 | | - git checkout "origin/${BRANCH}" -- _modules |
329 | | - else |
330 | | - OLD_SUM="$(find "${MODULE_DIR}" -type f -exec sha1sum {} \; | sort | sha1sum)" |
331 | | - git fetch origin |
332 | | - git checkout "origin/${BRANCH}" -- _modules |
333 | | - NEW_SUM="$(find "${MODULE_DIR}" -type f -exec sha1sum {} \; | sort | sha1sum)" |
334 | | - |
335 | | - if [[ "${OLD_SUM}" != "${NEW_SUM}" ]]; then |
336 | | - EXIT_COUNT+=1 |
337 | | - fi |
338 | | - fi |
339 | | - |
340 | | - if [ ${EXIT_COUNT} -ge 1 ]; then |
341 | | - echo "Changes for the update Script, please run this script again, exiting!" |
342 | | - exit 2 |
343 | | - fi |
344 | | - |
345 | 340 | fi |
346 | 341 |
|
347 | 342 | if [ ! "$FORCE" ]; then |
|
0 commit comments