Как использовать `hg cat` из пустой рабочей директории? - PullRequest
3 голосов
/ 24 июля 2010

У меня есть репозиторий, расположенный в x: / projects / repo1. Рабочий каталог был очищен с использованием hg update null. Я хочу извлечь последнюю версию некоторых файлов оттуда в локальный каталог.

Я пробовал это:

x:\projects\repo1> hg cat -o c:\sql\%s scripts\*.sql -r tip

Я получаю эту ошибку:

scripts\*.sql: No such file in rev 14f07c26178b

Та же команда отлично работает, если рабочий каталог не пустой. Есть ли веская причина, почему это не работает? Или вы знаете другой способ извлечь некоторые файлы оттуда в локальный каталог?

Ответы [ 3 ]

3 голосов
/ 24 июля 2010

Команда hg cat предназначена для отдельных файлов.Если вам нужно несколько файлов, используйте команду hg archive, которая заполняет файлы zip-файлами или каталогами.Вот ваша команда:

x:\projects\repo1> hg archive --include scripts\*.sql -r tip c:\sql
2 голосов
/ 24 июля 2010

Этот ответ на ваш комментарий к Ответ Андрея :

hg manifest принимает аргумент --rev, который можно использовать для просмотра списка всех файлов в вашем хранилище:

hg manifest --rev tip

Чтобы получить список файлов, соответствующих шаблону, на кончике, используйте:

hg stat --all --include *.sql --rev tip --no-status
hg stat -A -I *.sql --rev tip -n                    # using abbreviations.

Оттуда вы можете перенаправить вывод в файл и отредактировать каждую строку в hg cat Команда, как в вашем первоначальном вопросе.Кажется (для меня, по крайней мере, после некоторого экспериментирования), что hg cat использует содержимое рабочего каталога, а не содержимое хранилища в указанной ревизии, для сопоставления глобусов, так что как только вы узнаететочное имя файла, вы можете hg cat его в любой ревизии.

2 голосов
/ 24 июля 2010

Кажется, что hg cat не поддерживает символы подстановки в путях.Таким образом, вы должны использовать полное имя файла:

hg cat -r tip scripts/foo.sql

Когда ваша рабочая копия обновлена ​​до версии tip, ваша оболочка заменяет вас подстановочным знаком.* Команда также может быть полезна для получения списков отслеживаемых файлов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...