Что происходит с метаданными в источнике? Есть ли инструменты для этого?

Я сравниваю две разные версии ядра (один официальный, один от производителя); есть тысячи файлов, единственная разница которых в метаданных в файлах. Метаданные выглядят как «$: Key: value $». Есть ли набор инструментов, которые изменяют этот материал? Что генерирует эти данные? Есть ли способ сделать diff, не загрязняя это, не запуская весь источник через sed?

Пример:

--- ./drivers/atm/idt77252.h 2010-10-05 14:53:01.787778390 -0400 +++ ../linux-2.6.21.x/drivers/atm/idt77252.h 2010-03-26 03:08:26.000000000 -0400 @@ -1,8 +1,8 @@ /******************************************************************* - * ident "$Id: idt77252.h,v 1.2 2001/11/11 08:13:54 ecd Exp $" + * ident "$Id: idt77252.h,v 1.1.1.1 2007-05-25 06:50:05 bruce Exp $" * - * $Author: ecd $ - * $Date: 2001/11/11 08:13:54 $ + * $Author: bruce $ + * $Date: 2007-05-25 06:50:05 $ * * Copyright (c) 2000 ATecoM GmbH * 

  • Кто-нибудь, пожалуйста, объяснит вывод lspci -vv?
  • ACPI (расширенная конфигурация и конфигурация питания) отсутствует в 2.6.38.8?
  • Как я могу понять, что потребляет память?
  • Каковы методы восстановления конфигурации ядра Linux?
  • Несоответствие модуля ядра 4.9
  • После того, как моя система разбилась, и я запускаю сбой, но я получаю следующую ошибку: не поддерживается формат файла
  • Загрузка системы ARM с SD-карты с помощью uboot - как разместить все в одном разделе FAT?
  • Генерировать основные ошибки страницы
  • 3 Solutions collect form web for “Что происходит с метаданными в источнике? Есть ли инструменты для этого?”

    Как говорит Тэнте, эти $Word: ...$ вставляются и обновляются некоторыми системами управления версиями (CVS и SubVersion, типично).

    У GNU diff есть опция --ignore-lines-matching-re которая может исключать строки, которые соответствуют определенному регулярному выражению. Это должно сделать трюк:

     diff -wu --ignore-matching-lines='\$[AZ][az]*:.*\$' -r sourceA/ sourceB/ 

    (Обратите внимание на параметр \ before $ чтобы он не интерпретировался как маркер конца строки в регулярном выражении.)

    CVS (система управления версиями) может заменить определенные «заполнители» своими значениями при выписке (так что у вас есть, например, версия проверки или автора в файле).

    Кажется, я помню, что биткистер также сделал это «расширить ключевые слова на кассе», по указанным датам, это может объяснить различия (но только если это для действительно древних источников ядра). После фикшированного биткира источники, когда вы проверяли git, которые не верят в расширение ключевых слов, поэтому они будут заморожены в этот момент времени.

    Можем ли мы узнать, какие источники ядра вы сравниваете? Просто любопытно.

    Interesting Posts

    Устройство ввода аудио (A2DP) Bluetooth

    системные часы отключены на один час после каждой перезагрузки

    Один хост, две виртуальные машины, которые не могут пинговать друг друга. Как решить

    Как искать и заменять двойные символы одиночными символами Unicode в искаженном файле?

    Кнопки Windows FVWM (Maximize Minimize …), Темы

    Setfattr всегда возвращает операцию не поддерживаемую

    Предоставляет ли fail2ban дополнительную защиту SSH, если пароль уже отключен?

    Запрос BIND / DNSMASQ на сервере ubuntu 14.04.1

    mmap () не удалось: невозможно выделить память – как узнать, кто жалуется?

    Извлекать строки из тегов и сохранять в новый текстовый файл

    копировать строки, где символ встречается ровно столько раз

    Сделайте блок tmux до завершения программы

    Как понять ssh-keygen и ssh-copy-id?

    общая переменная среды для установки темного или светлого фона терминала

    Завершить только в начале слова

    Linux и Unix - лучшая ОС в мире.