cvs diff的输出格式

时间:2011-10-11 04:45:19

标签: diff cvs

我修改了某个文件的第494行,并使用cvs diff -u4查看我修改过的内容,cvs输出如下内容:

@@ -490,9 +490,9 @@         
if (!(hPtr->hStatus & (HOST_STAT_UNAVAIL | HOST_STAT_UNLICENSED |
                       HOST_STAT_UNREACH))){ 
            printf(" %s:\n",
            _i18n_msg_get(ls_catd,NL_SETN,1612, "CURRENT LOAD USED FOR SCHEDULING")); /* catgets  1612  */
    -       prtLoad(hPtr, lsInfo);
    +       prtLoad(hPtr, lsInfo,bhostParams);

            if (lsbSharedResConfigured_) {
            /* there are share resources */
            retVal = makeShareFields(hPtr->host, lsInfo, &nameTable,

我不明白第一行“@@ -490,9 +490,9 @@”是什么意思,我确实修改了第494行,但为什么CVS写了490呢?谁能告诉我“@@ -490,9 +490,9 @@”是什么意思?

1 个答案:

答案 0 :(得分:3)

“u”给你一个unified diff,而“4”给你4行上下文。从我刚刚链接的WP条目开始:

  

范围信息行的格式如下:

@@ -l,s +l,s @@
     

hunk范围信息包含两个hunk范围。的范围   原始文件的hunk前面有一个减号和范围   对于新文件,前面加上一个加号。每个大块范围都是   格式l,s其中l是起始行号,s是数字   更改块应用于每个相应文件的行。

所以基本上这个数字不是改变的那一行。这是该大块中显示的范围的开始。使用您的示例,hunk从第490行开始,9行在范围内。范围覆盖9行的原因是由于您更改了一行而在两侧都有四行背景。

请注意,您的示例似乎删除了一些换行符。我建议你修复它,以便其他人清楚。