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

Я сравниваю две разные версии ядра (один официальный, один от производителя); есть тысячи файлов, единственная разница которых в метаданных в файлах. Метаданные выглядят как «$: 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 * 

  • Запрос на сенсорную панель Lenovo Y700 Elantech 0x01 не выполнен
  • Разработка ядра Linux для многоядерной архитектуры
  • обновить ядро ​​без перезагрузки
  • Если я перенаправляю журналы с помощью rsyslog, будет ли dmesg затронуто?
  • FedUp, не может перейти на Fedora 20
  • Организация логического адресного пространства ядра ядра Linux
  • Какой модуль в ядре информирует клиента DHCP о начале переговоров по DHCP?
  • Признание таблицы разделов GPT, созданной с разным размером логического сектора
  • 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, которые не верят в расширение ключевых слов, поэтому они будут заморожены в этот момент времени.

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

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