Use redirect instead

This commit is contained in:
crazywhalecc
2026-07-06 19:35:48 +08:00
parent fa040bc346
commit c9401a0b7a

View File

@@ -47,17 +47,14 @@ class SourcePatcher
}
$patch_cwd = FileSystem::convertPath($cwd);
$patch_arg = $patch_str;
if (PHP_OS_FAMILY === 'Windows') {
$patch_arg = FileSystem::convertWinPathToMinGW($patch_arg);
}
// Detect if patch is already applied (reverse detection)
$detect_reverse = !$reverse;
$cd_cmd = (PHP_OS_FAMILY === 'Windows' ? 'cd /d ' : 'cd ') . escapeshellarg($patch_cwd);
$detect_cmd = $cd_cmd
. ' && patch --dry-run -p1 -s -f'
. ' -i ' . escapeshellarg($patch_arg)
. ($detect_reverse ? ' -R' : '')
. ' < ' . escapeshellarg($patch_arg)
. ' > ' . (PHP_OS_FAMILY === 'Windows' ? 'NUL' : '/dev/null') . ' 2>&1';
exec($detect_cmd, $output, $detect_status);
@@ -69,8 +66,8 @@ class SourcePatcher
// Apply patch
$apply_cmd = $cd_cmd
. ' && patch -p1'
. ' -i ' . escapeshellarg($patch_arg)
. ($reverse ? ' -R' : '');
. ($reverse ? ' -R' : '')
. ' < ' . escapeshellarg($patch_arg);
exec($apply_cmd, $apply_output, $apply_status);
if ($apply_status !== 0) {