/
niceSOFT
/
patch
Обзор
Документация
Войти
/
niceSOFT
/
patch
Код
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
tests/read-only-files
74 строки
2 KB
Paul Eggert
maint: make update-copyright
21 апр 2026, 20:10
21 апр 2026, 20:10
494ee0b
Код
Авторство
О чём код?
# Copyright 2009-2026 Free Software Foundation, Inc. # # Copying and distribution of this file, with or without modification, # in any medium, are permitted without royalty provided the copyright # notice and this notice are preserved. # Patching read-only files . $srcdir/test-lib.sh require cat require chmod use_local_patch use_tmpdir # -------------------------------------------------------------- : > read-only chmod a-w read-only if ( : 2> /dev/null > read-only ); then echo "Files with read-only permissions are writable" \ "(probably running as superuser)" >&2 exit 77 fi rm -f read-only # ============================================================== cat > f.diff <<EOF --- f.orig +++ f @@ -1 +1 @@ -one +two --- f.orig +++ f @@ -1 +1 @@ -two +three EOF echo one > f chmod a=r f check 'patch -p0 --read-only=fail < f.diff || echo "Status: $?"' <<EOF File f is read-only; refusing to patch 1 out of 1 hunk ignored -- saving rejects to file f.rej File f is read-only; refusing to patch 1 out of 1 hunk ignored -- saving rejects to file f.rej Status: 1 EOF rm -f f.rej check 'patch -f -p0 --read-only=warn < f.diff || echo "Status: $?"' <<EOF File f is read-only; trying to patch anyway patching file f File f is read-only; trying to patch anyway patching file f EOF rm -f f echo one > f chmod a=r f check 'patch -f -p0 --read-only=ignore < f.diff || echo "Status: $?"' <<EOF patching file f patching file f EOF check 'patch -o - f /dev/null || echo "Status: $?"' <<EOF patching file - (read from f) three EOF