Mercurial найти файлы, которые не были изменены с момента ревизии - PullRequest
0 голосов
/ 21 января 2019

Я пытаюсь найти список исходных файлов, которые не были изменены за последние несколько лет.

Это один аспект, который я пытаюсь измерить, чтобы попытаться помочь нампонять степень стабильности и изменения в данном проекте с течением времени.

Есть ли в mercurial способ идентифицировать файлы, которые не были изменены после данной ревизии?

Ответы [ 2 ]

0 голосов
/ 22 января 2019

В этом вопросе есть некоторая двусмысленность, но на него, вероятно, можно ответить с помощью команды status (st).Например, чтобы получить список, основанный на сравнении файлов в ревизии R с файлами в pwd, вы можете выполнить:

hg st --rev R -cn

Опция -c эквивалентна "--clean" (что означаетв действительности «без изменений»).

Чтобы сравнить файлы в редакции R с файлами в самой последней фиксации:

hg st --rev R:-1 -cn

Существует множество способов указать «R», например 0для первоначального коммита.

0 голосов
/ 21 января 2019

Публикация своего собственного ответа.

Я дважды клонировал репозиторий в новые каталоги.

Затем обновил один до текущей версии, а другой - до исходной базовой версии

hg update <rev>

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

 diff -sqrbwB original current | grep "identical"

Флаги различий следующие:

-s reports identical files (facilitating the grep for "identical")
-q brief report (don't need a detailed report of differences)
-r recursively follow directories
-b ignore space changes
-w ignore all space
-B ignore Blank lines

Не уверен, если -b -wи -B все необходимо, но это сработало и выдает список файлов, которые не были изменены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...