Меркуриал - все файлы, которые изменились в наборе?

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

Я не ищу различий в этом случае, просто список добавления/удаления/модификации.

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
  1. hg log -r [start rev]:[end rev] --template "{file_mods}{file_adds}\n" покажет вам список каждого файла, измененного или добавленного в каждом наборе изменений, от [start rev] до [end rev], с файлами каждого набора изменений в новой строке. Swap {file_mods}{file_adds} С {files} чтобы показать все файлы, измененные, добавленные или удаленные.
  2. sed -e 's/ /\n/g' разделит все файлы показать отдельные строки и
  3. sort будет, э, сортировать список для вас, чтобы мы могли фильтровать список с uniq
  4. 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