Що ці інструкції означають у звичайній англійській мові?


0

Я знаю, що це патч програми Linux, але якщо я спробую ним скористатися, я отримаю таку помилку:

відсутній заголовок для уніфікованої різниці в рядку 4 патча

неправильно сформований патч у рядку 5: вийти

Натомість я хотів би просто вирізати посередника та відредагувати його вручну, але я не знаю, що означає якийсь із символів.

a/com.ibm.celldt.simulator.profile.default_3.1.0.200809010950/simulator_init.tcl

+ b/com.ibm.celldt.simulator.profile.default_3.1.0.200809010950/simulator_init.tcl
@@ -701,9 +701,9 @@ proc CellDT_ShutdownComplete { args } {
quit
}

-mysim trigger set console "The system is going down for system halt NOW!" CellDT_ShutdownNotified
-mysim trigger set console "INIT: Switching to runlevel: 0" CellDT_ShutdownStarted
-mysim trigger set console "INIT: no more processes left in this runlevel" CellDT_ShutdownComplete
+mysim trigger set console "init: rcS main" CellDT_ShutdownNotified
+mysim trigger set console "Sending all processes the TERM signal" CellDT_ShutdownStarted
+mysim trigger set console "md: stopping all md devices." CellDT_ShutdownComplete

proc writeConsole { t } {
mysim console create console_id in string $t
@@ -740,8 +740,8 @@ proc CellDT_BootNearlyReady { args } {
}

mysim trigger set console "Starting Linux" CellDT_BootedBios
-mysim trigger set console "Welcome to Fedora Core" CellDT_BootedLinux
-mysim trigger set console "INIT: Entering runlevel: 2" CellDT_BootNearlyReady
+mysim trigger set console "Welcome to Fedora" CellDT_BootedLinux
+mysim trigger set console "Starting login process" CellDT_BootNearlyReady

# # CONFIGURATION:
linux  diff  patch 

Відповіді:


4

Вихідні дані вказують, що програма виправлення неправильно інтерпретує рядок, починаючи з "вийти". Кожен доданий рядок повинен починатися з "+"

Звідки ви взяли цей файл? Ці інструменти передбачають функціонування в нових стилях "унікс-стилю". Це означає, що всі файли, які ви відрізняєте та виправляєте, повинні мати лише нові строки LF, а не стандартні рядки CRLF для Windows / DOS. Спробуйте:

dos2unix -d filename

2

Уніфікований формат різниці : в основному "-" означає видалений рядок, "+" означає доданий рядок. Тож ви можете вручну застосувати патч, якщо хочете. Але найкраще було б вирішити основну проблему. Чи є сегмент файлів, яким ви надаєте повний файл? Якщо це так - це вказує на те, що інформація заголовка diff пошкоджена / відсутня, і вам потрібно повернутися до джерела / інструментів / процесу, який створив цей виправлення.


Як передбачається, файл здається зіпсованим, оскільки "попередньому файлу" (a / com ...) слід передувати ---та "новому файлу" (b / com ...) з +++маркерами. (Див. Приклад за посиланням, поданим вище.)
Jawa

0

Досить поширеною проблемою є застосування патча для версії x.yy.zzz до версії x.yy.zza. Тобто, патч-файли дуже специфічні для певних версій джерела. Я настійно пропоную опублікувати фактичну програму, яку ви виправляєте, та точне джерело виправлення.


0

Мені здається, що у вашому патчі є два головні символи, ' +' і ' -', але в ньому відсутній маркер контексту ' ' (пробіл).

Що, мабуть, сталося так, що ви зробили копію та вставити з якогось веб-сайту та редактора, який ви використовували для заповнення тексту та збереження його у файл, у якому випали провідні місця. Це щось зламане, але його можна виправити.

Я особисто віддаю перевагу save (link) asметоду, оскільки він дозволяє уникнути ручної роботи після обробки в 99,95% часу.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.