Подтвердить что ты не робот

Как забыть все удаленные файлы с помощью Mercurial

Я новичок в Mercurial и после очистки папки с изображениями в моем проекте у меня есть тонна файлов, показывающая с! в статусе "hg". Я могу набрать "hg forget" для каждого, но должен быть более простой способ.

Итак, как я могу сказать mercurial забыть обо всех удаленных (status =!) файлах в папке?

4b9b3361

Ответ 1

Если вы тоже с добавлением любых существующих файлов и не игнорируете, то:

hg addremove

был бы популярным способом сделать это.

Ответ 2

С файловым набором (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

Ответ 3

Вы можете попробовать:

hg forget -I '*'

чтобы включить все файлы в команду "Забыть".

Ответ 4

Используя флаг -d для статуса, в котором отображаются отсутствующие файлы:

for file in $(hg status -d | cut -d " " -f 2); do echo hg forget $file; done

Запустите это в корне вашего репо, и если вы довольны результатами, удалите echo

У этого есть бонус за принятый ответ not, выполняющий какую-либо дополнительную работу, например. добавив кучу необработанных файлов.

Ответ 5

более короткий, чем

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