fix unix patch
This commit is contained in:
16
install.zsh
16
install.zsh
@@ -9,6 +9,15 @@ function sediment() {
|
||||
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() {
|
||||
APP_PASSWORD=xxx
|
||||
host=syu.is
|
||||
@@ -145,7 +154,8 @@ function apply-patch() {
|
||||
pushd ${target_dir} > /dev/null
|
||||
|
||||
# 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"
|
||||
popd > /dev/null
|
||||
echo ""
|
||||
@@ -153,9 +163,9 @@ function apply-patch() {
|
||||
fi
|
||||
|
||||
# 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..."
|
||||
if patch -p1 < ${patch_file}; then
|
||||
if patch -f -p1 < ${patch_file}; then
|
||||
echo "✅ Applied successfully"
|
||||
popd > /dev/null
|
||||
echo ""
|
||||
|
||||
Reference in New Issue
Block a user