В Mercurial (hg), как вы видите список файлов, которые будут нажаты, если выдается "hg push"?
Мы можем видеть все изменения и файлы, связанные с использованием
hg outgoing -v
но все имена файлов разбросаны в списке наборов изменений.
Есть ли способ увидеть список всех файлов, которые будут выходить, если выдается hg push?
Ответ 1
Сначала создайте файл с этим контентом:
changeset = "{files}"
file = "{file}\n"
Скажем, вы называете это out-style.txt и помещаете его в свой домашний каталог. Затем вы можете дать следующую команду:
hg -q outgoing --style ~/out-style.txt | sort -u
Ответ 2
Я обычно использую
hg outgoing -v | grep files
Это делает листинг короче, но не сортирует. Но до сих пор я не был в ситуации, когда я хочу так сильно (и в то же время проверять файлы), что это проблема.
[изменить]
Чтобы сделать то, что вы хотите:
Используйте cut, чтобы удалить часть files:
Для наборов изменений с несколькими касающимися файлами используйте tr, чтобы поместить их в отдельные строки
Наконец, отсортируйте полученный результат с помощью sort
Вы можете поместить это в ~/outgoingfiles.sh или что-то, чтобы оно было приятным и готовым.
Ответ 3
Несколько недооцененная функция: 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):
Ответ 4
Я использую Torgoise Hg, который является расширением оболочки, которое имеет "синхронизированное" представление, позволяющее видеть исходящие файлы, прежде чем вы их нажимаете, Это удобно для совершения и других вещей.
Ответ 5
Простой hg out также решит это.
Он перечислит все зафиксированные, но все же нажатие проверок.