Удаление двоичных файлов из репозитория hg - PullRequest
6 голосов
/ 23 февраля 2012

Можно ли с помощью Mercurial удалить все файлы с определенным расширением?Я сделал addremove, а затем все мои двоичные файлы .pyc были версионированы, и теперь я получаю эту пробку, когда делаю версионирование:

tool kdiff3 can't handle binary
tool docdiff can't handle binary
 no tool found to merge bnano-www/wtforms/widgets.pyc
keep (l)ocal or take (o)ther? o
19 files updated, 67 files merged, 0 files removed, 0 files unresolved

C:\Users\developer\bnano\bnano-www>

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

Можете ли вы дать некоторые рекомендации, что делать в этом случае?

Спасибо

Ответы [ 3 ]

7 голосов
/ 23 февраля 2012

HgIgnore

Прежде всего, вы можете добавить некоторые правила в файл .hgignore , чтобы сообщить Mercurial, что вы хотите игнорировать некоторые файлы. Тогда hg addremove не будет добавлять их автоматически, и они не будут отображаться на выходе команд (т. Е. hg status) как неотслеживаемые.

Удаление файлов

Чтобы удалить ваши файлы, вы можете использовать hg remove myfile, например, если все ваши pyc файлы находятся в одном каталоге, вы можете сделать hg remove *.pyc и затем зафиксировать изменение.

Если ваши файлы разбросаны по различным хранилищам, что-то вроде hg remove -I *.pyc **/* должно удалить все файлы .pyc во всех каталогах.

Шаблоны исключений

К вашему сведению, будет лучше добавить ненужные файлы в файл .hgignore, вы также можете указать addremove игнорировать некоторые файлы, выполнив hg addremove -X *.pyc. Это добавит / удалит все файлы, кроме тех, которые имеют расширение pyc.

Справку по конкретной ртутной команде можно найти с помощью help. Например, hg help addremove. В общем все аккуратно объяснено!

Учебник

Чтобы глубже изучить различные концепции Mercurial, я рекомендую этот превосходный учебник: http://hginit.com

3 голосов
/ 22 января 2014

Чтобы удалить все двоичные файлы из хранилища, вы можете использовать Mercurial наборы файлов :

hg remove "set:binary()"

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

1 голос
/ 23 февраля 2012

Вы сможете удалить их, как и любой другой файл hg remove *.pyc. Возможно, вы захотите добавить .pyc в файл .hgignore, чтобы они не возвращались при использовании addremove.

В общем, вам следует использовать hg add для выборочного добавления файлов в будущем, учитывая, что по мере развития проекта, какие файлы в нем должны стабилизироваться относительно быстро.

...