Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
hgbook.pdf
Скачиваний:
50
Добавлен:
17.03.2015
Размер:
3.15 Mб
Скачать

Глава 7. Имена файлов и шаблоны совпадений

Mercurial предоставляет механизмы, которые позволят вам работать с именами файлов единообразным и выразительным образом.

7.1. Простое именование файлов

Mercurial использует единообразную технику «скрытую под капотом» для обработки имен файлов. Каждая команда ведет себе одинаково относительно имен файлов. Путь по которому команды работают с именами файламов следующий.

Если вы явно указываете имена реальных файлов, Mercurial работает именно с теми файлами, которые вы ожидаете.

$ hg add COPYING README examples/simple.py

Когда вы указываете имя директории, Mercurial интерпретирует это как «сделай что либо со всеми файлами в этой директории и во вложенных директориях». Mercurial обрабатывает файлы и поддиректории в указанной директории в алфавитном порядке. Когда Mercurial дойдет до каталога, то он рекурсивно спустится в него и произведет теже действия что и выше, перед продолжением обработки в текущем каталоге.

$ hg status src

?src/main.py

?src/watcher/_watcher.c

?src/watcher/watcher.py

?src/xyzzy.txt

7.2. Запуск команд без указания имен файлов

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

Большинство команд работают со всей рабочей директорией. Так например работает команда hg add.

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

Легко обойти стандартное поведение если оно вас не устраивает. Если команда как правило работает с целым рабочим каталогом, вы можете ссылаться на него только в текущем каталоге или его подкаталогах, давая ему имя

«.».

$ cd src

$ hg add -n

adding ../MANIFEST.in

adding ../examples/performant.py adding ../setup.py

adding main.py

adding watcher/_watcher.c adding watcher/watcher.py adding xyzzy.txt

$ hg add -n . adding main.py

adding watcher/_watcher.c adding watcher/watcher.py adding xyzzy.txt

75

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]