vscodium/build/update_patches.sh
2023-03-02 23:23:03 +01:00

61 lines
1.4 KiB
Bash
Executable file

#!/bin/bash
export VSCODE_QUALITY="stable"
while getopts ":ilp" opt; do
case "$opt" in
i)
export VSCODE_QUALITY="insider"
;;
esac
done
cd vscode || { echo "'vscode' dir not found"; exit 1; }
git add .
git reset -q --hard HEAD
for FILE in ../patches/*.patch; do
if [ -f "${FILE}" ]; then
echo applying patch: "${FILE}"
git apply --ignore-whitespace "${FILE}"
if [ $? -ne 0 ]; then
echo failed to apply patch "${FILE}"
git apply --reject "${FILE}"
git apply --reject "../patches/helper/settings.patch"
read -p "Press any key when the conflict have been resolved..." -n1 -s
git restore .vscode/settings.json
git add .
git diff --staged -U1 > "${FILE}"
fi
git add .
git reset -q --hard HEAD
fi
done
if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
for FILE in ../patches/insider/*.patch; do
if [ -f "${FILE}" ]; then
echo applying patch: "${FILE}"
git apply --ignore-whitespace "${FILE}"
if [ $? -ne 0 ]; then
echo failed to apply patch "${FILE}"
git apply --reject "${FILE}"
git apply --reject "../patches/helper/settings.patch"
read -p "Press any key when the conflict have been resolved..." -n1 -s
git restore .vscode/settings.json
git add .
git diff --staged -U1 > "${FILE}"
fi
git add .
git reset -q --hard HEAD
fi
done
fi