2010-10-06 2 views
4

Мой вопрос очень похож на this one.Игнорировать определенную строку в файлах

У меня есть файлы под контролем версий Mercurial и каждый файл есть строка:

<modified-time>some time</modified-time> 

Эта линия Создал внешний инструмент, а смена инструмента этой линии периодически. Я не хочу знать об изменениях в этой строке и хочу игнорировать изменения в этой строке, когда выполняю команды «diff», «commit» и «status».

  1. Итак, если файл имеет только одно изменение, а изменение - это строка, мне нужно пропустить этот файл на выходе команды «hg status».
  2. Если файл имеет другие изменения в других строках, мне нужно получить этот файл на выходе команды «hg status».

Если я фиксирую файл, мне необходимо зафиксировать все изменения.

+0

Не начинайте свой вопрос так. Там много бесчисленных троллей, которые ищут «повторяющиеся вопросы», чтобы закрыть :) Твой вопрос другой. –

+0

Надеюсь, вы ответите на комментарий [legendary @ Ry4an] (http://stackoverflow.com/tags/mercurial/topusers) о том, почему вы приняли мой «ответ», который не решает вашу конкретную проблему. Если мой ответ действительно ошибается, пожалуйста, не соглашайтесь с этим, и я попытаюсь придумать что-то еще. –

ответ

2

(UPDATE жаль неправильно вопрос и ввести в заблуждение OP.)

Если все ваши файлы генерируются с помощью внешнего инструмента, отслеживать исходные файлы вместо этого.

Если нет, и если вы можете изменить генератор, используйте ключевое слово date так же, как в комплекте keyword extension.

Если нет (комментарий OP указан так), вы можете использовать pre-* hooks, чтобы игнорировать изменение времени (когда это единственное изменение). Было бы больно, но, поскольку у вас должен быть крючок для каждой команды, которая увидит разницу в файлах.

Как и в случае предложения OP, верните файл, если он имеет только изменение времени, либо вручную, либо автоматически (по таймеру или подписаться на уведомление файловой системы).

+2

Я вижу, что demas счастлив с ответом, но я не понимаю, как использование расширения, которое вставляет даты, поможет ему игнорировать изменения в датах, сделанные другими «внешними» инструментами? Что мне не хватает? –

+0

Надеюсь (надеюсь) OP обладает роскошью, чтобы изменить «внешний инструмент», или прекратил использовать его для заполнения даты теперь, когда он знает кошерный путь. –

+0

Извините, что согласился с ответом. Это была моя ошибка. Я был милей. Что касается внешнего инструмента, у меня нет исходного кода и он не может изменить его поведение. – demas

Смежные вопросы