NobGit
public nobgit read

NobMail

Based on mailcow: dockerized

Languages

Repository composition by tracked source files.

PHP
PHP 49% JavaScript 35% HTML 9% CSS 4% Shell 2% Python 1% Lua 0% Perl 0% Ruby 0% SCSS 0%
Create file Wiki Documentation
Clone
https://nobgit.com/orgs/nobgit/nobmail.git
ssh://[email protected]:2222/orgs/nobgit/nobmail.git

Commit

Extend --dev flag to skip _modules update

82ea4184
FreddleSpl0it <[email protected]> 5 months ago
update.sh | 59 ++++++++++++++++++++++++++++++++++++++---------------------
 1 file changed, 38 insertions(+), 21 deletions(-)

Diff

diff --git a/update.sh b/update.sh
index 74eb8ff2..3e53d213 100755
--- a/update.sh
+++ b/update.sh
@@ -19,30 +19,48 @@ if [ ! -f "${PWD}/mailcow.conf" ]; then
 fi
 BRANCH="$(cd "${SCRIPT_DIR}" && git rev-parse --abbrev-ref HEAD)"
 
+# Check for --dev flag early to skip _modules update
+for arg in "$@"; do
+  if [[ "$arg" == "--dev" || "$arg" == "-d" ]]; then
+    echo -e "\e[32mRunning in Developer mode...\e[0m"
+    DEV=y
+    break
+  fi
+done
+
 MODULE_DIR="${SCRIPT_DIR}/_modules"
-# Calculate hash before fetch
-if [[ -d "${MODULE_DIR}" && -n "$(ls -A "${MODULE_DIR}" 2>/dev/null)" ]]; then
-  MODULES_HASH_BEFORE=$(find "${MODULE_DIR}" -type f -exec sha256sum {} \; 2>/dev/null | sort | sha256sum | awk '{print $1}')
-else
-  MODULES_HASH_BEFORE="EMPTY"
-fi
 
-echo -e "\e[33mFetching latest _modules from origin/${BRANCH}…\e[0m"
-git fetch origin "${BRANCH}"
-git checkout "origin/${BRANCH}" -- _modules
+if [ ! "$DEV" ]; then
+  # Calculate hash before fetch
+  if [[ -d "${MODULE_DIR}" && -n "$(ls -A "${MODULE_DIR}" 2>/dev/null)" ]]; then
+    MODULES_HASH_BEFORE=$(find "${MODULE_DIR}" -type f -exec sha256sum {} \; 2>/dev/null | sort | sha256sum | awk '{print $1}')
+  else
+    MODULES_HASH_BEFORE="EMPTY"
+  fi
+
+  echo -e "\e[33mFetching latest _modules from origin/${BRANCH}…\e[0m"
+  git fetch origin "${BRANCH}"
+  git checkout "origin/${BRANCH}" -- _modules
 
-if [[ ! -d "${MODULE_DIR}" || -z "$(ls -A "${MODULE_DIR}")" ]]; then
-  echo -e "\e[31mError: _modules is still missing or empty after fetch!\e[0m"
-  exit 2
-fi
+  if [[ ! -d "${MODULE_DIR}" || -z "$(ls -A "${MODULE_DIR}")" ]]; then
+    echo -e "\e[31mError: _modules is still missing or empty after fetch!\e[0m"
+    exit 2
+  fi
 
-# Calculate hash after fetch
-MODULES_HASH_AFTER=$(find "${MODULE_DIR}" -type f -exec sha256sum {} \; 2>/dev/null | sort | sha256sum | awk '{print $1}')
+  # Calculate hash after fetch
+  MODULES_HASH_AFTER=$(find "${MODULE_DIR}" -type f -exec sha256sum {} \; 2>/dev/null | sort | sha256sum | awk '{print $1}')
 
-# Check if modules changed
-if [[ "${MODULES_HASH_BEFORE}" != "${MODULES_HASH_AFTER}" ]]; then
-  echo -e "\e[33m_modules have been updated. Please restart the update script.\e[0m"
-  exit 2
+  # Check if modules changed
+  if [[ "${MODULES_HASH_BEFORE}" != "${MODULES_HASH_AFTER}" ]]; then
+    echo -e "\e[33m_modules have been updated. Please restart the update script.\e[0m"
+    exit 2
+  fi
+else
+  echo -e "\e[33mDeveloper mode: Skipping _modules update from git\e[0m"
+  if [[ ! -d "${MODULE_DIR}" || -z "$(ls -A "${MODULE_DIR}")" ]]; then
+    echo -e "\e[31mError: _modules directory is missing or empty!\e[0m"
+    exit 2
+  fi
 fi
 
 source _modules/scripts/core.sh
@@ -151,8 +169,7 @@ while (($#)); do
       FORCE=y
     ;;
     -d|--dev)
-      echo -e "\e[32mRunning in Developer mode...\e[0m"
-      DEV=y
+      # Already handled at the top of the script before _modules update
     ;;
     --legacy)
       CURRENT_BRANCH="$(cd "${SCRIPT_DIR}"; git rev-parse --abbrev-ref HEAD)"