Mercurial не распознает новую папку в хранилище - PullRequest
3 голосов
/ 13 февраля 2012

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

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

ОБНОВЛЕНИЕ: ниже я добавил скриншот, показывающий, что происходит, когда я пытаюсь добавить новую папку.Кажется, ни один из файлов в папке не распознан.

enter image description here

Ответы [ 2 ]

3 голосов
/ 13 февраля 2012

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

1 голос
/ 13 февраля 2012

Если вы хотите зафиксировать новый файл в хранилище, вы должны сначала add it.

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

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

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

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

[UPDATE]

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

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

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

...