fix unix patch
This commit is contained in:
16
install.zsh
16
install.zsh
@@ -9,6 +9,15 @@ function sediment() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# Patch compatibility wrapper
|
||||||
|
function patchment() {
|
||||||
|
# -f : Force. Do not ask questions. (Standard in GNU and BSD patch)
|
||||||
|
# -N : Ignore patches that seem to be reversed or already applied (Forward)
|
||||||
|
# But we control these flags in the caller.
|
||||||
|
patch "$@"
|
||||||
|
}
|
||||||
|
|
||||||
function at-repos-env() {
|
function at-repos-env() {
|
||||||
APP_PASSWORD=xxx
|
APP_PASSWORD=xxx
|
||||||
host=syu.is
|
host=syu.is
|
||||||
@@ -145,7 +154,8 @@ function apply-patch() {
|
|||||||
pushd ${target_dir} > /dev/null
|
pushd ${target_dir} > /dev/null
|
||||||
|
|
||||||
# Check if patch is already applied (reverse dry-run succeeds)
|
# Check if patch is already applied (reverse dry-run succeeds)
|
||||||
if patch --dry-run -p1 -R < ${patch_file} > /dev/null 2>&1; then
|
# Use -f to force dry-run to fail instead of asking questions if unapplied
|
||||||
|
if patch -f --dry-run -p1 -R < ${patch_file} > /dev/null 2>&1; then
|
||||||
echo "✅ Already applied - skipping"
|
echo "✅ Already applied - skipping"
|
||||||
popd > /dev/null
|
popd > /dev/null
|
||||||
echo ""
|
echo ""
|
||||||
@@ -153,9 +163,9 @@ function apply-patch() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Check if patch can be applied (forward dry-run succeeds)
|
# Check if patch can be applied (forward dry-run succeeds)
|
||||||
if patch --dry-run -p1 < ${patch_file} > /dev/null 2>&1; then
|
if patch -f --dry-run -p1 < ${patch_file} > /dev/null 2>&1; then
|
||||||
echo "🔧 Applying patch..."
|
echo "🔧 Applying patch..."
|
||||||
if patch -p1 < ${patch_file}; then
|
if patch -f -p1 < ${patch_file}; then
|
||||||
echo "✅ Applied successfully"
|
echo "✅ Applied successfully"
|
||||||
popd > /dev/null
|
popd > /dev/null
|
||||||
echo ""
|
echo ""
|
||||||
|
|||||||
Reference in New Issue
Block a user