Может Подвижное использование .hgignore для упущения файлов?

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

Существует ли путь к hg для упущения всех файлов, подобранных .hgignore?

37
задан OliverS 23 July 2010 в 07:08
поделиться

2 ответа

Чтобы игнорировать этот файл, удалите его.

hg remove -Af myfile

(удалить из ревизии, оставив копию в вашем рабочем пространстве: или hg Забыть )

Но ваш репозиторий Mercurial не «забудет» те же самые файлы из предыдущих ревизий.

Удаление файла не влияет на его историю.
Важно понимать, что удаление файла имеет только два эффекта.

  • Удаляет текущую версию файла из рабочего каталога.
  • Это мешает Mercurial отслеживать изменения в файле с момента следующего коммита.

Удаление файла никоим образом не изменяет историю файла.


Другой способ, когда у вас есть много лишних файлов, которые вам нужно игнорировать, это:

  • удалить их (из файловой системы, не с помощью команды hg, а с помощью команды ОС 'rm')
  • hg addremove (предупреждение, он добавит не зафиксированные в данный момент файлы, но hg удалит все остальные файлы, которые вы только что удалили)

См. Как забыть все удаленные файлы с Mercurial для получения дополнительной информации.

1
ответ дан 27 November 2019 в 04:38
поделиться

Я не думаю, что hg может сделать это из коробки.

Но довольно легко свернуть свой собственный. Записи hgignore являются regexp или glob, поэтому вы можете просто просмотреть записи, найти соответствующие файлы / каталоги и выполнить для них «hg remove».

Для синтаксического анализа/сопоставления hgignore, если вы используете python, вы можете просто вызывать функции в файле ignore.py hg.

Может быть, кто-нибудь напишет для этого расширение.

1
ответ дан 27 November 2019 в 04:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: