这些说明用简单的英语来说是什么意思?

这些说明用简单的英语来说是什么意思?

我知道这是针对 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:

答案1

您的输出表明补丁程序没有正确解释以“quit”开头的行。添加的每一行都需要以“+”开头

您从哪里获得此文件?这些工具将假定并操作“unix 样式”换行符。这意味着您要比较和修补的所有文件都必须仅具有 LF 换行符,而不是 Windows/DOS 标准 CRLF 换行符。尝试:

dos2unix -d filename

答案2

统一差异格式:基本上,“-”表示删除的行,“+”表示添加的行。因此,您可以根据需要手动应用补丁。但最好的办法是解决根本问题。您提供的文件段是完整文件吗?如果是 - 则表明 diff 标头信息已损坏/丢失,您需要返回创建此补丁的源/工具/流程。

答案3

一个相当常见的问题是将版本 x.yy.zzz 的补丁应用到版本 x.yy.zza。也就是说,补丁文件高度特定于源代码的特定版本。我强烈建议您发布您正在修补的实际程序和补丁的确切来源。

答案4

在我看来,您的补丁有两个主要字符“ +”和“ -”,但缺少上下文标记“ ”(空格)。

可能发生的情况是,您从某个网站复制并粘贴了内容,而您用来填写文本并将其保存到文件中的编辑器丢失了前导空格。这有点问题,但可以修复。

我个人更喜欢这种save (link) as方法,因为它可以 99.95% 的时间避免手动后期处理工作。

相关内容