Предотвратить перемещение каталога в Mercurial - PullRequest
2 голосов
/ 29 марта 2012

Я создал новый репозиторий на локальном компьютере, добавил файлы и зафиксировал, предоставив мне следующую структуру в моей рабочей копии:

-/a     
-/b

Я хочу отправить свой первоначальный коммит в удаленный репозиторий на Bitbucket. Однако я хочу игнорировать каталог b, чтобы он не выдвигался. Я добавил

syntax:
glob b/**

в мой .hgignore файл. В любом случае каталог b выдвигается.

Как я могу предотвратить это?

Ответы [ 2 ]

5 голосов
/ 29 марта 2012

Это не может быть сделано в Mercurial: вы не можете выдвинуть только начальную версию файла, а затем проигнорировать последующие изменения.Вы также не можете продвигать часть набора изменений - вы либо выдвигаете весь набор изменений, либо нет.Таким образом, Mercurial гарантирует, что у вас есть согласованный снимок проекта во всех клонах.

Преет прав, когда пишет, что файл .hgignore является фильтром для неотслеживаемых файлов.Файл .hgignore используется для фильтрации вывода таких команд, как hg status, и для фильтрации файлов, добавленных путем запуска hg add без дополнительных аргументов.

1 голос
/ 29 марта 2012

в .hgignore добавить:

^b/.*

или b/*, если вы используете подчиненный синтаксис glob (регулярное выражение дает вам гораздо больший контроль).

Синтаксис определен в первой строке, а все правила определены в следующих отдельных строках.

если вы хотите использовать globbing, первая строка будет syntax: glob, а если regex, первая строка будет syntax: regexp (подразумевается по умолчанию). Обратитесь к документации .

Обратите внимание, что Mercurial на самом деле не выдвигает пустые каталоги, поэтому вы можете проверить его только в том случае, если у вас есть файл в b/

...