Ini adalah perintah patchposix yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa workstation online gratis kami seperti Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS
PROGRAM:
NAMA
patch — menerapkan perubahan pada file
RINGKASAN
tambalan [blNR] [c|−e|−n|−u] [d dir] [D menetapkan] [i file tambalan]
[o file keluar] [p num] [r menolak file] [fillet]
DESKRIPSI
tambalan utilitas harus membaca file sumber (tambalan) yang berisi salah satu dari empat bentuk:
perbedaan (diff) daftar yang dihasilkan oleh diff utilitas (normal, konteks yang disalin, terpadu
konteks, atau dalam gaya ed) dan menerapkan perbedaan tersebut ke file. Secara default, tambalan
harus membaca dari input standar.
tambalan utilitas harus mencoba untuk menentukan jenis diff daftar, kecuali
ditolak oleh c, e, n, atau u .
Jika file patch berisi lebih dari satu patch, tambalan akan mencoba menerapkannya masing-masing
seolah-olah mereka berasal dari file patch yang terpisah. (Dalam hal ini, aplikasi harus memastikan
bahwa nama file tambalan dapat ditentukan untuk masing-masing diff daftar.)
PILIHAN
tambalan utilitas harus sesuai dengan volume Definisi Dasar POSIX.1-2008, Bagian
12.2, Kegunaan Sintaksis Panduan.
Opsi berikut harus didukung:
b Simpan salinan konten asli dari setiap file yang dimodifikasi, sebelum
perbedaan diterapkan, dalam file dengan nama yang sama dengan akhiran .asal
ditambahkan padanya. Jika file sudah ada, itu akan ditimpa; jika banyak
tambalan diterapkan ke file yang sama, .asal file harus ditulis hanya untuk
tambalan pertama. Ketika o file keluar pilihan juga ditentukan, fillet.asal akan
tidak diciptakan tetapi, jika file keluar sudah ada, file keluar.asal akan dibuat.
c Menafsirkan file tambalan sebagai perbedaan konteks yang disalin (output dari
kegunaan diff ketika c or C opsi ditentukan).
d dir Ubah direktori saat ini menjadi dir sebelum diproses seperti yang dijelaskan dalam
bagian DESKRIPSI DIPERPANJANG.
D menetapkan Tandai perubahan dengan salah satu konstruksi praprosesor C berikut:
#ifdef menetapkan
...
#berakhir jika
#ifndef mendefinisikan
...
#berakhir jika
opsional dikombinasikan dengan konstruk praprosesor C #lain. Jika ditambal
file diproses dengan preprocessor C, di mana makro menetapkan didefinisikan,
output harus berisi perubahan dari file patch; jika tidak, output
tidak boleh berisi tambalan yang ditentukan dalam file tambalan.
e Menafsirkan file tambalan sebagai ed skrip, bukan a diff Script.
i file tambalan
Baca informasi tambalan dari file yang dinamai dengan nama path file tambalan, lebih tepatnya
daripada masukan standar.
l (Huruf ell.) Menyebabkan urutan apapun dari karakter dalam perbedaan
skrip untuk mencocokkan urutan apa pun dari karakter dalam file masukan. Lainnya
karakter harus sama persis.
n Menafsirkan skrip sebagai perbedaan normal.
T Abaikan patch yang perbedaannya sudah diterapkan ke file; oleh
default, patch yang sudah diterapkan akan ditolak.
o file keluar
Alih-alih memodifikasi file (ditentukan oleh fillet operan atau perbedaannya
listings) secara langsung, tulis salinan file yang direferensikan oleh setiap patch, dengan
perbedaan yang tepat diterapkan, untuk file keluar. Beberapa tambalan untuk satu file
harus diterapkan pada versi perantara dari file yang dibuat oleh setiap
patch sebelumnya, dan akan menghasilkan beberapa versi gabungan dari
file sedang ditulis ke file keluar.
p num Untuk semua nama path di file tambalan yang menunjukkan nama file yang akan
ditambal, hapus num komponen pathname dari awal setiap pathname. Jika
nama path dalam file tambalan adalah mutlak, apa pun yang terkemuka karakter harus
dianggap sebagai komponen pertama (yaitu, p 1 akan menghapus yang terkemuka
karakter). Menentukan p 0 akan menyebabkan nama path lengkap digunakan.
If p tidak ditentukan, hanya nama dasar (komponen nama jalur akhir) yang harus
digunakan.
R Membalikkan arti skrip tambalan; yaitu, asumsikan bahwa perbedaannya
script dibuat dari versi baru ke versi lama. NS R Option
tidak dapat digunakan dengan ed skrip. NS tambalan utilitas akan mencoba untuk membalikkan setiap
bagian dari skrip sebelum menerapkannya. Perbedaan yang ditolak akan disimpan dalam
format yang ditukar. Jika opsi ini tidak ditentukan, dan sampai sebagian dari
file patch berhasil diterapkan, tambalan mencoba untuk menerapkan setiap bagian dalam nya
dalam arti terbalik maupun dalam arti normal. Jika percobaan berhasil,
pengguna akan diminta untuk menentukan apakah R pilihan harus ditetapkan.
r menolak file
Ganti nama file penolakan default. Dalam kasus default, file penolakan harus
memiliki nama yang sama dengan file output, dengan akhiran .rej ditambahkan padanya; Lihat
tambalan Aplikasi.
u Menafsirkan file tambalan sebagai perbedaan konteks terpadu (output dari diff
utilitas ketika u or U opsi ditentukan).
OPERA
Operand berikut harus didukung:
fillet Nama path file yang akan ditambal.
STDIN
Lihat bagian INPUT FILES.
INPUT FILE
File input harus berupa file teks.
LINGKUNGAN VARIABEL
Variabel lingkungan berikut akan mempengaruhi pelaksanaan tambalan:
BAHASA Berikan nilai default untuk variabel internasionalisasi yang tidak disetel atau
batal. (Lihat volume Definisi Dasar dari POSIX.1-2008, Bagian 8.2,
Internasionalisasi Variabel prioritas variabel internasionalisasi
digunakan untuk menentukan nilai kategori lokal.)
LC_SEMUA Jika disetel ke nilai string yang tidak kosong, timpa nilai dari yang lainnya
variabel internasionalisasi.
LC_COLLATE
Tentukan lokal untuk perilaku rentang, kelas kesetaraan, dan multi-
elemen pengumpulan karakter yang digunakan dalam ekspresi reguler diperpanjang yang ditentukan untuk
itu yaekspr kata kunci lokal di LC_MESSAGES kategori.
LC_CTYPE Tentukan lokal untuk interpretasi urutan byte data teks
sebagai karakter (misalnya, byte tunggal sebagai lawan dari karakter multi-byte dalam
argumen dan file input), dan perilaku kelas karakter yang digunakan dalam
ekspresi reguler yang diperluas yang ditentukan untuk yaekspr kata kunci lokal di
LC_MESSAGES kategori.
LC_MESSAGES
Tentukan lokal yang digunakan untuk memproses tanggapan afirmatif, dan lokal yang digunakan
untuk mempengaruhi format dan isi pesan diagnostik dan petunjuk yang ditulis ke
kesalahan standar.
NLSPATH Tentukan lokasi katalog pesan untuk pemrosesan LC_MESSAGES.
LC_TIME Tentukan lokal untuk mengenali format cap waktu file yang ditulis oleh
itu diff utilitas dalam file input perbedaan konteks.
tidak sinkron EVENT
Default
STDOUT
Tidak digunakan.
STDERR
Kesalahan standar harus digunakan untuk pesan diagnostik dan informasional.
KELUARAN FILE
Output dari tambalan utilitas, menyimpan file (.asal sufiks), dan file penolakan
(.rej sufiks) harus berupa file teks.
DITERIMA DESKRIPSI
File patch mungkin berisi instruksi patch untuk lebih dari satu file; nama file harus
ditentukan seperti yang ditentukan dalam Filename Penentuan. Ketika b opsi ditentukan, untuk
setiap file yang ditambal, yang asli harus disimpan dalam file dengan nama yang sama dengan akhiran
.asal ditambahkan padanya.
Untuk setiap file yang ditambal, file penolakan juga dapat dibuat seperti yang disebutkan dalam tambalan Aplikasi.
Dengan tidak adanya a r pilihan, nama file ini akan dibentuk dengan menambahkan
akhiran .rej ke nama file asli.
tambalan File dibentuk
File patch harus berisi nol atau lebih baris informasi header diikuti oleh satu atau
lebih banyak tambalan. Setiap patch harus berisi nol atau lebih baris identifikasi nama file di
format yang dihasilkan oleh c, C, u, atau U opsi dari diff utilitas, dan satu atau lebih
rangkaian dari diff keluaran, yang biasa disebut orang bakhil.
tambalan utilitas akan mengenali ekspresi berikut dalam informasi header:
Indeks: nama jalur
File yang akan ditambal bernama nama jalur.
Jika semua baris (termasuk header) dalam patch dimulai dengan urutan awal yang sama dari
karakter, itu tambalan utilitas harus menghapus urutan ini sebelum melanjutkan. Di dalam
setiap tambalan, jika jenis perbedaannya adalah konteks umum, tambalan utilitas harus mengenali
ekspresi berikut:
*** nama file timestamp
Tambalan muncul dari nama file.
--- nama file timestamp
Tambalan harus diterapkan ke nama file.
Jika jenis perbedaannya adalah kesatuan konteks, maka tambalan utilitas harus mengakui
ekspresi berikut:
--- nama file timestamp
Tambalan muncul dari nama file.
+ + + nama file timestamp
Tambalan harus diterapkan ke nama file.
Setiap bongkahan dalam tambalan akan menjadi diff output untuk mengubah rentang garis dalam
berkas asli. Nomor baris untuk bongkahan berturut-turut dalam patch harus terjadi di
urutan naik.
Filename Penentuan
Jika tidak fillet operan ditentukan, tambalan melakukan langkah-langkah berikut untuk menentukan
nama file yang akan digunakan:
1. Jika jenis diff adalah konteks, tambalan utilitas akan menghapus komponen pathname (sebagai
ditentukan oleh p option) dari nama file pada baris yang dimulai dengan "***" (jika
konteks yang disalin) atau "−−−" (jika konteks terpadu), maka uji keberadaan ini
file relatif terhadap direktori saat ini (atau direktori yang ditentukan dengan d
pilihan). Jika file tersebut ada, tambalan utilitas harus menggunakan nama file ini.
2. Jika jenis diff adalah konteks, tambalan utilitas akan menghapus komponen pathname
(seperti yang ditentukan oleh p option) dari nama file pada baris yang dimulai dengan "−−−" (jika
konteks yang disalin) atau "+++" (jika konteks terpadu), maka uji keberadaan ini
file relatif terhadap direktori saat ini (atau direktori yang ditentukan dengan d
pilihan). Jika file tersebut ada, tambalan utilitas harus menggunakan nama file ini.
3. Jika informasi header berisi baris yang diawali dengan string Indeks:, yang tambalan
utilitas akan menghapus komponen pathname (seperti yang ditentukan oleh p pilihan) dari ini
baris, lalu uji keberadaan file ini relatif terhadap direktori saat ini (atau
direktori yang ditentukan dengan d pilihan). Jika file tersebut ada, tambalan kegunaan
akan menggunakan nama file ini.
4. Jika SCCS direktori ada di direktori saat ini, tambalan akan mencoba untuk melakukan
mendapatkan e SCCS/dtk.nama file perintah untuk mengambil versi file yang dapat diedit. jika
file ada, tambalan utilitas harus menggunakan nama file ini.
5. Itu tambalan utilitas akan menulis Prompt ke output standar dan meminta nama file
secara interaktif dari terminal pengontrol (misalnya, /dev/tty).
tambalan Aplikasi
Jika c, e, n, atau u pilihan hadir, the tambalan utilitas akan menafsirkan informasi
dalam setiap bongkahan sebagai perbedaan konteks yang disalin, dan ed perbedaan, perbedaan normal, atau
perbedaan konteks terpadu, masing-masing. Dengan tidak adanya salah satu opsi ini,
tambalan utilitas harus menentukan jenis perbedaan berdasarkan format informasi
dalam bongkahan itu.
Untuk setiap bongkahan, tambalan utilitas akan mulai mencari tempat untuk menerapkan tambalan di
nomor baris di awal bongkahan, plus atau minus offset apa pun yang digunakan dalam penerapan
bongkahan sebelumnya. Jika garis yang cocok dengan konteks bingkah tidak ditemukan, tambalan akan memindai keduanya
maju dan mundur setidaknya 1000 byte untuk satu set baris yang cocok dengan konteks cowok.
Jika tidak ada tempat seperti itu yang ditemukan dan itu adalah perbedaan konteks, maka pemindaian lain akan dilakukan
tempat, mengabaikan baris pertama dan terakhir dari konteks. Jika itu gagal, dua yang pertama dan yang terakhir
dua baris konteks harus diabaikan dan pemindaian lain harus dilakukan. Implementasi mungkin
mencari lebih ekstensif untuk lokasi instalasi.
Jika tidak ada lokasi yang dapat ditemukan, tambalan utilitas akan menambahkan bongkahan ke file penolakan. A
cowok yang ditolak itu adalah perbedaan konteks yang disalin, dan ed perbedaan, atau normal
perbedaan harus ditulis dalam format perbedaan konteks yang disalin terlepas dari formatnya
dari file patchnya. Ini adalah implementasi yang ditentukan apakah bongkahan yang ditolak yang merupakan kesatuan
perbedaan konteks ditulis dalam format perbedaan konteks-salinan atau dalam format unified-context-
format perbedaan. Jika inputnya normal atau ed-perbedaan gaya, file penolakan mungkin
mengandung perbedaan dengan garis nol konteks. Nomor baris pada bongkahan di
menolak file mungkin berbeda dari nomor baris dalam file patch karena mereka harus
mencerminkan perkiraan lokasi untuk bongkahan yang gagal di file baru daripada yang lama
satu.
Jika jenis tambalan adalah ed diff, implementasi dapat menyelesaikan penambalan dengan
memohon ed utilitas
EXIT STATUS
Nilai keluar berikut harus dikembalikan:
0 Berhasil menyelesaikan.
1 Satu atau lebih baris ditulis ke file penolakan.
>1 Terjadi kesalahan.
KONSEKUENSI OF GALAT
Patch yang tidak dapat ditempatkan dengan benar dalam file harus ditulis ke file penolakan.
berikut bagian adalah informatif.
APLIKASI PENGGUNAAN
R opsi tidak berfungsi dengan ed skrip karena terlalu sedikit informasi untuk
merekonstruksi operasi sebaliknya.
p opsi memungkinkan untuk menyesuaikan file tambalan ke direktori pengguna lokal
struktur tanpa mengedit file patch secara manual. Misalnya, jika nama file dalam
file tambalan adalah:
/dadih/whey/src/blurfl/blurfl.c
Pengaturan p 0 memberikan seluruh nama path yang tidak dimodifikasi; p 1 memberikan:
dadih/whey/src/blurfl/blurfl.c
tanpa memimpin , p 4 memberikan:
blurfl/blurfl.c
dan tidak menentukan p sama sekali memberikan:
blurfl.c .
CONTOH
Tidak ada.
ALASAN
Beberapa fungsi dalam sejarah tambalan implementasi tidak ditentukan. NS
berikut mendokumentasikan fitur-fitur yang ada dalam implementasi historis yang belum
telah ditentukan.
Bagian dari fungsionalitas yang dihapus adalah '+' pseudo-option memungkinkan satu set tambahan
pilihan dan operan file patch yang akan diberikan. Ini dianggap tidak cukup berguna
untuk menstandarisasi.
Dalam implementasi historis, jika string "Prereq:" muncul di header, the tambalan
utilitas akan mencari informasi versi yang sesuai (string yang ditentukan dalam
tajuk, dibatasi oleh karakter atau awal atau akhir baris atau file)
mana saja di file asli. Ini telah dihapus karena terlalu sederhana dan tidak memadai
mekanisme untuk standarisasi yang dapat dipercaya. Misalnya, jika:
Prasyarat: 1.2
berada di header, kehadiran 1.2 yang dibatasi di mana saja di file akan memenuhi
prasyarat.
Opsi berikut dikeluarkan dari implementasi historis dari tambalan as
tidak cukup berguna untuk standarisasi:
b b opsi secara historis menyediakan metode untuk mengubah ekstensi nama
file cadangan dari default .asal. Opsi ini telah dimodifikasi dan
dipertahankan dalam volume POSIX.1-2008 ini.
F F opsi menentukan jumlah baris dari perbedaan konteks untuk diabaikan ketika
mencari tempat untuk menginstal patch.
f f opsi yang disebabkan secara historis tambalan untuk tidak meminta informasi tambahan
dari pengguna.
r r opsi yang secara historis menyediakan metode untuk mengesampingkan ekstensi
tolak file dari default .rej.
s s opsi yang disebabkan secara historis tambalan untuk bekerja secara diam-diam kecuali ada kesalahan
terjadi.
x x opsi secara historis mengatur flag debugging internal.
Dalam beberapa implementasi sistem file, penghematan a .asal file dapat menghasilkan yang tidak diinginkan
hasil. Dalam hal nama file 12, 13, atau 14 karakter (pada sistem file yang mendukung
nama file maksimum 14 karakter), the .asal file menimpa file baru. File penolakan
juga dapat melebihi batas nama file ini. Disarankan, karena beberapa praktik sejarah,
bahwa ('~') akhiran digunakan sebagai pengganti .asal dan beberapa karakter lain sebagai gantinya
itu .rej akhiran. Ini ditolak karena tidak jelas bagi pengguna file mana
yang. Sufiks .asal dan .rej lebih jelas dan lebih dimengerti.
b opsi memiliki arti yang berlawanan dalam beberapa implementasi historis — jangan simpan
.asal mengajukan. Kasus default di sini bukan untuk menyimpan file, membuat tambalan berperilaku lebih
konsisten dengan utilitas standar lainnya.
w opsi dalam proposal awal diubah menjadi l untuk mencocokkan praktik sejarah.
T opsi disertakan karena tanpanya, aplikasi non-interaktif tidak dapat menolak
patch yang diterapkan sebelumnya. Misalnya, jika pengguna melakukan pemipaan output dari diff ke dalam
tambalan utilitas, dan pengguna hanya ingin menambal file ke versi yang lebih baru non-
secara interaktif, T opsi diperlukan.
Perubahan pada l deskripsi opsi diusulkan untuk memungkinkan pencocokan di seluruh
karakter selain hanya karakter. Karena ini bukan praktik sejarah,
dan karena beberapa ambiguitas dapat terjadi, disarankan agar pengembangan di masa depan dalam hal ini
area menggunakan surat opsi lain, seperti L.
u pilihan GNU tambalan telah ditambahkan, bersama dengan dukungan untuk format konteks terpadu.
MASA DEPAN ARAH
Tidak ada.
Gunakan patchposix online menggunakan layanan onworks.net