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

Пустое хранилище после подрывной деятельности → Меркурийное преобразование

Я использовал команду "hg convert", чтобы попытаться перенести мой SVN-репозиторий на hg, и, похоже, он работает (требуется некоторое время и распечатывает все сообщения фиксации по мере его поступления), но в конце получается Каталог Mercurial пуст. В нем есть скрытый подкаталог .hg, и это около 200 МБ, так что SOMETHING произошло, но ни один из файлов не существует.

Любые мысли?

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


svn-repository/  
    Project1/  
        trunk/  
        branches/  
        tags/  
    Project2/  
        trunk/  
        branches/  
        tags/  

и т.д...

Может ли это быть причиной проблемы? Я понимаю, что SVN не волнует, как вы организовываете репозиторий, но Mercurial?

4b9b3361

Ответ 1

Вам нужно запустить hg update, чтобы получить рабочую копию.

(Такие ртутные репозитории без рабочей копии могут использоваться как чистые точки связи, где изменения вытесняются или извлекаются из них, подобно серверу subversion. В этом случае он был создан hg convert, но вы также можете создавать такие репозитории с hg clone --noupdate или hg update null. Опущение файлов рабочей копии сохраняет пробел.)

Кроме того, я бы рекомендовал вам преобразовать каждый проект отдельно. Если вы укажете URL-адрес для "project1", hg convert будет автоматически обнаруживать подпапки trunk, branches и tags и будет делать правильные вещи.

В меркуриале ветки - это понятия первого класса, а не просто папки, которые, как оказалось, были скопированы из сундука. Филиалы не живут в любом видимом пользователем месте, как в svn. Наличие нескольких проектов (каждый со своими веткими) в одном хранилище ртути действительно не имеет смысла.