выходной формат cvs diff - PullRequest
       31

выходной формат cvs diff

2 голосов
/ 11 октября 2011

Я изменил строку 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 Ответ

3 голосов
/ 11 октября 2011

"u" дает вам унифицированную разницу , а "4" дает вам 4 строки контекста с обеих сторон.Из записи WP, которую я только что связал:

Формат строки информации о диапазоне следующий:

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

Информация о диапазоне блоков содержит два диапазона блоков.Диапазону для фрагмента исходного файла предшествует символ минус, а диапазону для нового файла предшествует символ плюс.Каждый диапазон блоков имеет формат l, s, где l - номер начальной строки, а s - количество строк, к которым применяется блок изменений для каждого соответствующего файла.

Так что в основном это нелиния, которая была изменена.Это начало диапазона, отображаемого в этом блоке.Используя ваш пример, ломоть начинается со строки 490, и 9 строк были в диапазоне.Причина, по которой диапазон охватывает 9 строк, заключается в том, что вы изменили одну строку и четыре строки контекста с обеих сторон.

Обратите внимание, что в вашем примере, как представляется, некоторые символы новой строки удалены.Я бы порекомендовал вам исправить это так, чтобы это было понятно другим людям.

...