Что означает этот символ в Mercurial?

введите здесь описание изображения

Я серьезно переработал свой проект. Я добавил несколько новых классов, но также щелкнул правой кнопкой мыши > Удаленные классы в обозревателе решений Visual Studio.

Что это ! символ означает?

Все элементы, отмеченные ! были вещи, которые я удалил в VS2010. Это также удалит их из репозитория?


person Community    schedule 01.03.2011    source источник
comment
У вас есть вопрос о hg status? См. hg help status для решения. Дайте мне знать, если помощь недостаточно ясна, чтобы я мог ее улучшить.   -  person Martin Geisler    schedule 02.03.2011


Ответы (2)


Эти файлы «отсутствуют». Вы явно не удалили эти файлы из репозитория, но mercurial не может их найти.

Если вы зафиксируете с помощью hg commit --addremove, mercurial удалит все отсутствующие файлы из репозитория. В данном случае, я думаю, это то, что вы хотите сделать - вы намеренно удалили эти файлы и не хотите, чтобы они появлялись в будущих версиях вашего кода. Вы по-прежнему сможете перейти к более ранней версии и вызвать эти файлы обратно, если хотите.

person Riley Lark    schedule 01.03.2011
comment
Отлично! Спасибо, что прояснили это. Так что я бы пошел hg commit -m tqerqwer --addremove? - person ; 01.03.2011
comment
Ага! Переполнение стека заставляет меня писать больше, чем Да! так что я подтверждаю: Точно! На hginit.com есть отличный учебник - person Riley Lark; 01.03.2011
comment
hg addr -n полезно, если вы хотите выполнить пробный запуск, чтобы увидеть, какие файлы будут добавлены или удалены. - person nbevans; 01.03.2011
comment
Вы также можете сделать hg addremove -s 80 перед фиксацией, и mercurial автоматически обнаружит переименования/копии для файлов, которые на 80% похожи. Таким образом, вы сможете отслеживать историю переименований, и mercurial будет знать, что делать при слиянии с ветками без переименования. - person Wim Coenen; 02.03.2011

Как отметил @Riley , это означает, что они повторно отсутствует. Альтернативный метод удаления их из репозитория — использовать hg remove --after <filename>. Комментарии в hgbook указывают на то, что вы можете введите команду без указания имени файла, и она также удалит все отсутствующие файлы, но будет жаловаться на каждый файл, который не отсутствует.

person rcollyer    schedule 01.03.2011
comment
Да, и это безопаснее. Вы не должны иметь привычку просто добавлять --addremove в конце каждого коммита. - person Riley Lark; 01.03.2011