2012-02-13 7 views
3

У меня есть существующее репо, которое было настроено правильно и работает нормально. Я удалил всю папку проекта из репо, совершил изменение, а затем добавил другую версию той же папки, которая не была в VC. Теперь, когда я пытаюсь добавить или зафиксировать файлы в новой папке, Mercurial, похоже, не распознает какие-либо новые файлы.Mercurial не распознает новую папку в репозитории

Использование расширения «commit» TortoiseHg для Windows Explorer, когда я пытаюсь зафиксировать папку (или любой из файлов внутри), в диалоге не появляются файлы. Если я щелкнул правой кнопкой мыши и зафиксировал файл в папке, появится всплывающее окно, в котором говорится: «Нет файлов, найденных для этой операции». Я не специалист по Hg, хотя я использую его несколько месяцев без сучка и задоринки, но я довольно застрял на этом. Есть идеи?

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

enter image description here

ответ

3

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

1

Если вы хотите, чтобы совершить новый файл в хранилище, вы должны сначала add это.

В командной строке это может быть сделано различными способами:

  1. hg add, который может добавить файл или хранилище и каждые файлы, которые он содержит.
  2. hg addremove который добавляет все новые файлы и удаляет удаленные.
  3. hg commit -A или hg commit --addremove, которые являются тем же самым и ярлыком hg add remove; hg commit.

Я не помню точно, где находится команда TortoiseHG, но я думаю, что если вы щелкните правой кнопкой мыши по папке в проводнике, должна присутствовать опция.

Я думаю, что я также помню опцию addremove где-то в окне фиксации, но я могу ошибаться.

[UPDATE]

На основании ответа вы предоставили себя, вот объяснение того, почему простое добавление файлов не работали:

Поскольку новый каталог содержал хранилища информации, связанной (а .hg), Mercurial рассматривал его как Subrepository. Subrepositories - это репозиторий, содержащийся в другом, это может, например, использоваться для ссылки на конкретную версию библиотеки.

Как только вы удалите каталог .hg в своем новом местоположении, Mercurial didn увидела это как Subrepo, и вы могли нормально добавлять файлы.

+0

Когда я пытаюсь добавить, ни один из файлов, похоже, не распознается из проекта, который я скопировал в репо. Смотрите мой снимок экрана выше. Означает ли это? –

+0

Кроме того, я пробовал все перечисленные выше опции из командной строки, но, похоже, не распознает файлы. –

+0

+1 - спасибо; полезно знать в будущем. –

Смежные вопросы