Ответ 1
Если вы тоже с добавлением любых существующих файлов и не игнорируете, то:
hg addremove
был бы популярным способом сделать это.
Я новичок в Mercurial и после очистки папки с изображениями в моем проекте у меня есть тонна файлов, показывающая с! в статусе "hg". Я могу набрать "hg forget" для каждого, но должен быть более простой способ.
Итак, как я могу сказать mercurial забыть обо всех удаленных (status =!) файлах в папке?
Если вы тоже с добавлением любых существующих файлов и не игнорируете, то:
hg addremove
был бы популярным способом сделать это.
С файловым набором (Mercurial 1.9):
hg forget "set:deleted()"
В общем, на Linux или Mac:
hg status -dn | while read file ; do hg forget "$file" ; done
Или, если ваша оболочка разрешает его, если файлов не так много, и если имена файлов не содержат пробелов или специальных символов, то:
hg forget $(hg st -dn)
I
Вы можете попробовать:
hg forget -I '*'
чтобы включить все файлы в команду "Забыть".
Используя флаг -d
для статуса, в котором отображаются отсутствующие файлы:
for file in $(hg status -d | cut -d " " -f 2); do echo hg forget $file; done
Запустите это в корне вашего репо, и если вы довольны результатами, удалите echo
У этого есть бонус за принятый ответ not, выполняющий какую-либо дополнительную работу, например. добавив кучу необработанных файлов.
более короткий, чем
for file in $(hg status -d | cut -d " " -f 2); do echo hg forget $file; done
это
hg status -d | cut -d " " -f 2 | xargs echo hg forget # test case
hg status -d | cut -d " " -f 2 | xargs hg forget # real work