61 lines
2.1 KiB
Text
61 lines
2.1 KiB
Text
local currentdir=$(pwd)
|
|
local updated=0
|
|
local failed=0
|
|
local module
|
|
local mlocation
|
|
for module in $umodules; do
|
|
if [ -d ${ZIM_HOME}/modules/${module} ]; then
|
|
mlocation=${ZIM_HOME}/modules/${module}
|
|
elif [ -d ${ZIM_HOME}/modules/prompt/external-themes/${module} ]; then
|
|
mlocation=${ZIM_HOME}/modules/prompt/external-themes/${module}
|
|
else
|
|
echo "$fg[red]Cant find $module module...$reset_color"
|
|
break
|
|
fi
|
|
echo -ne "$fg[blue]Updating $module... $reset_color"\\r
|
|
output=$(cd $mlocation && git remote update -p && git merge --ff-only @\{u\})
|
|
if [ $? -ne 0 ]; then
|
|
echo -ne "$fg[red]Failed to update $module...\n $output $reset_color"\\r
|
|
failed=$((failed+1))
|
|
fi
|
|
if echo "$output" | grep -i "up to date" > /dev/null; then
|
|
echo -ne "$fg[blue]$module at latest version. $reset_color"\\r
|
|
else
|
|
echo -ne "$fg[green]Updated $module! $reset_color"\\r
|
|
updated=$((updated+1))
|
|
fi
|
|
printf '\n'
|
|
done
|
|
for pmodule in $pmodules; do
|
|
echo -ne "$fg[blue]Updating $pmodule... $reset_color"\\r
|
|
output=$(cd ${ZIM_HOME}/modules/prompt/external-themes/$pmodule && git remote update -p && git merge --ff-only @\{u\})
|
|
if [ $? -ne 0 ]; then
|
|
echo -ne "$fg[red]Failed to update $pmodule...\n $output $reset_color"\\r
|
|
failed=$((failed+1))
|
|
fi
|
|
if echo "$output" | grep -i "up to date" > /dev/null; then
|
|
echo -ne "$fg[blue]$pmodule at latest version. $reset_color"\\r
|
|
else
|
|
echo -ne "$fg[green]Updated $pmodule! $reset_color"\\r
|
|
updated=$((updated+1))
|
|
fi
|
|
printf '\n'
|
|
done
|
|
if [ $updated -gt 0 ]; then
|
|
if [ $failed -eq 0 ]; then
|
|
echo "$fg[green]\033[1mSucessfully updated $updated modules!$reset_color"
|
|
fi
|
|
else
|
|
if [ $failed -eq 0 ]; then
|
|
echo "$fg[blue]\033[1mNo module updates avaliable.$reset_color"
|
|
fi
|
|
fi
|
|
if [ $failed -gt 0 ]; then
|
|
if [ $updated -gt 0 ]; then
|
|
echo "$fg[blue]\033[1mSucessfully updated $updated modules and failed to update $failed modules.$reset_color"
|
|
else
|
|
echo "$fg[red]\033[1mFailed to update $failed modules, no module updates available.$rest_color"
|
|
fi
|
|
|
|
fi
|
|
cd $currentdir
|