В Mercurial (hg), как вы видите список файлов, которые будут выдвинуты, если будет выдано «hg push»? - PullRequest
21 голосов
/ 15 июня 2010

Мы можем увидеть все наборы изменений и соответствующие файлы, используя

hg outgoing -v

но имена файлов разбросаны по списку наборов изменений.

Есть ли способ просто просмотреть список всех файлов, которые выйдут, если выдается hg push?

Ответы [ 5 ]

10 голосов
/ 15 июня 2010

Сначала создайте файл с таким содержимым:

changeset = "{files}"
file = "{file}\n"

Допустим, вы называете его out-style.txt и помещаете в свой домашний каталог.Тогда вы можете дать эту команду:

hg -q outgoing --style ~/out-style.txt | sort -u
6 голосов
/ 15 июня 2010

Несколько недооцененная функция: hg status может отображать информацию об изменениях в статусе файла между произвольными наборами изменений.Это можно использовать для получения списка файлов, измененных между ревизиями X и Y:

hg status --rev X:Y

В этом случае мы можем использовать hg outgoing, чтобы найти первую исходящую ревизию Xа затем выполните

hg status --rev X:

, чтобы увидеть изменения файлов после ревизии X.Вы можете объединить это в одну строку в вашей оболочке:

hg status --rev $(hg outgoing -q --template '{node}' -l 1):
6 голосов
/ 15 июня 2010

Я обычно использую

hg outgoing -v | grep files

Это делает список короче, но не сортирует.Но до сих пор я не был в ситуации, когда я хотел бы нажать так много (и в то же время проверить файлы), что это было проблемой.

[Редактировать] Чтобы сделать то, чтоВы хотите:

  • Используйте cut для удаления files: детали
  • Для наборов изменений с более чем одним затронутым файлом используйте tr, чтобы поместить их в отдельные строки
  • Наконец, сортируйте полученный результат с помощью sort

Примерно так:

hg outgoing -v |grep files: |cut -c 14- |tr ' ' '\n' |sort -u

Вы можете поместить это в ~ / outgoingfiles.sh или что-нибудь, чтобы это было хорошо и готово.

3 голосов
/ 15 июня 2010

Я использую Torgoise Hg , который представляет собой расширение оболочки с представлением «синхронизация», позволяющим вам видеть исходящие файлы, прежде чем вы их нажмете. Это удобно и для коммитов, и для других вещей.

0 голосов
/ 27 июня 2016

Простой hg out также решит это. В нем будут перечислены все совершенные, но еще не пройдены проверки.

...