Меркуриал - все файлы, которые изменились в наборе?
как можно определить все файлы, которые изменились в данном наборе?
Я не ищу различий в этом случае, просто список добавления/удаления/модификации.
hg log -vprX
делает список различий, но я просто хочу файлы.
7 ответов
Если вы хотите перечислить только файлы, которые изменились, вы должны использовать команду " статус" Ниже перечислены изменения в файлах в версии REV
hg status --change REV
просто удалить p
из своего hg log -vpr
появится список файлов. -p
значит показать патч. Вы также можете использовать шаблон для вывода на свой вкус.
Я знаю, что вопрос для одного набора изменений, но если вы хотите, чтобы все файлы были изменены для ряда наборов изменений, вы можете сделать
hg status --rev 1 --rev 10 -m
нашел этот вопрос через Googling для аналогичной концепции. Чтобы показать все файлы, которые изменились через ряд изменений, это так же просто, как:
hg log -r [start rev]:[end rev] --template "{file_mods}{file_adds}\n" | sed -e 's/ /\n/g' | sort -d | uniq
-
hg log -r [start rev]:[end rev] --template "{file_mods}{file_adds}\n"
покажет вам список каждого файла, измененного или добавленного в каждом наборе изменений, от [start rev] до [end rev], с файлами каждого набора изменений в новой строке. Swap{file_mods}{file_adds}
С{files}
чтобы показать все файлы, измененные, добавленные или удаленные. -
sed -e 's/ /\n/g'
разделит все файлы показать отдельные строки и -
sort
будет, э, сортировать список для вас, чтобы мы могли фильтровать список с uniq -
uniq
будет фильтровать список, чтобы удалить дубликаты-файлы, которые изменились более чем на одну ревизию.
Текущая Исправленная Редакция
hg status --change .
.
является сокращением для текущего rev, так же, как @HEAD
в Git
Текущая Незафиксированная Редакция
hg status
Произвольная Исправленная Ревизия
hg status --change REV_ID
Я знаю, что этот вопрос-старый вопрос, и я удивлен, что никто не предложил измененную форму кода OP. Я получил список измененных/добавленных / удаленных файлов (не помеченных, которые есть, хотя), просто запустив hg log -v
. Или то, что мне действительно нужно hg log -v -l5
чтобы увидеть файлы, которые были изменены/добавлены/удалены за последние 5 коммитов (включая те, которые я еще не нажал на репо).
Если вы похожи на большинство магазинов, вы используете систему продажи билетов для отслеживания изменений. Если вы знаете номер билета и хотите найти все коммиты, связанные с этим билетом (если вы укажите номер билета в сообщение), вы можете использовать:
hg log -k TICKET_NUMBER
это отображает все изменения, связанные с билетом. Однако он не перечисляет файлы. Вы можете использовать один из ответов выше, чтобы получить список файлов, связанных с переделки.
чтобы сделать это проще, объединяя информацию из предыдущих ответов, вы можете сделать следующее для поиска коммитов, включая измененные файлы:
hg log -vk TICKET_NUMBER