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