Mercurial: проблема с преобразованием репозитория Windows cvs в mercurial

Я пытаюсь преобразовать существующий репозиторий Windows CVS в Mercurial и получаю следующий ответ и ошибку:

C:\Windows\system32>hg convert c:\users\jeff\webs\shelter-cvs\shelter

assuming destination shelter-hg
initializing destination shelter-hg repository
connecting to :local:c:\cvs
abort: unexpected response from CVS server (expected "Valid-requests", but got 'E cvs [server aborted]: c:\\cvs: no such repository\n')

Вот предыстория:

  • Репозиторий был создан с помощью TortoiseCVS, поэтому я считаю, что на самом деле это cvsnt.

  • Я могу правильно оформить заказ из репозитория
    , используя командную строку
    или графический интерфейс TortoiseCVS, поэтому я думаю, что он настроен правильно.

  • Я пытаюсь сконвертировать рабочую копию, а не сам репозиторий

  • Я работаю под управлением Windows 7, 64-разрядная версия

  • Я установил TortoiseHG и включил расширение convert.


person jalperin    schedule 28.12.2009    source источник
comment
можно правильно оформить заказ из рабочей копии или только из актуального репозитория?   -  person Steve De Caux    schedule 28.12.2009
comment
Я не уверен, что понимаю. Думаю касса из репозитория. Есть ли способ оформить заказ с рабочей копии? Как мне это сделать? Просто укажите место расположения рабочей копии вместо репозитория?   -  person jalperin    schedule 28.12.2009


Ответы (3)


Автор сказал:

Я пытаюсь сконвертировать рабочую копию, а не сам репозиторий

Это делает невозможным то, что вы делаете. Вам нужен доступ к репо, а не к его проверке. Оформления CVS (в отличие от ртутных проверок) не включают полную историю. Лучшее, что вы можете сделать при оформлении заказа, - это импортировать один или два снимка.

person Ry4an Brase    schedule 28.12.2009
comment
Я думал, что мне нужно запустить convert на кассе, а не в репозитории, чтобы преобразовать cvs в mercurial. У меня ДЕЙСТВИТЕЛЬНО есть доступ к репозиторию. Он находится в c: \ cvs \ shelter, но когда я изменяю команду convert на: hg convert c: \ cvs \ shelter, я получаю сообщение об ошибке: нет такого файла или каталога: c: \ cvs \ shelter \ CVS \ Root. - person jalperin; 28.12.2009
comment
С HG Convert НЕОБХОДИМО посмотреть на рабочий каталог, но также нужен доступ к CVSROOT, на который будет указывать локальный каталог. mercurial.selenic.com/wiki/ConvertExtension#Converting_from_CVS - person Adam Nofsinger; 03.06.2011

У меня была аналогичная проблема, и я решил ее, изменив CVSROOT (переменную среды) из локальной папки на использование: pserver, например:

:pserver:username@computername:/CVS

Это работает на CVSNT, по крайней мере, для меня.

person Ola Eldøy    schedule 06.04.2010
comment
Следующая проблема, с которой вы, вероятно, столкнетесь в Windows, заключается в следующем: mercurial.selenic.com/bts/issue2117 - person Adam Nofsinger; 03.06.2011

Я делаю именно то, что пытаетесь сделать вы. Я предполагаю, что вы установили cvsps и правильно настроили расширение convert в своем .hgrc?

Ваша команда, хотя для преобразования, скорее всего, является проблемой. Вы указываете путь к модулю, который хотите преобразовать, а не само имя модуля.

Попробуйте следующее:

c: cd \ users \ jeff \ webs \ shelter-cvs \ hg преобразовать приют

Вышеупомянутое создаст репозиторий Hg как "shelter-hg". В качестве альтернативы вы можете указать, где вы хотите разместить репозиторий Hg:

cd \ users \ jeff \ webs mdir hg_repo cd shelter-cvs hg convert shelter .. \ hg_repo \ shelter

Надеюсь это поможет,

mG.

person Greg Fenton    schedule 12.01.2010
comment
у меня все еще не работает; Я получаю ту же самую ошибку репозитория, которая, кажется, не имеет смысла. Я выполнил новую проверку из репозитория, который работал, так что он явно существует! Я зашел в c: \ users \ jeff \ desktop, где создал каталог «shelter». Затем я сделал: cd c: \ users \ jeff \ desktop \ shelter. Затем я запустил: hg convert shelter, и он выдал ошибку. Если я сначала переключусь на c: \ users \ jeff \ desktop \ shelter, а затем выполню команду hg convert, появится сообщение «shelter не похож на dvs checkout». - person jalperin; 13.01.2010
comment
Вы проверяли, работает ли команда cvsps? Мне пришлось немного повозиться с ним, прежде чем hg convert заработает, поскольку hg convert зависит от cvsps. Я думаю, вы хотите сначала записать компакт-диск в папку c: \ users \ jeff \ desktop, а затем попробовать cvsps shelter. Если это сработает, он должен начать выплевывать историю коммитов для модуля укрытия. В противном случае hg convert не будет работать. Кроме того, я думаю, вам следует запускать команду hg convert shelter также из каталога рабочего стола, а не из каталога shelter. - person Greg Fenton; 13.01.2010
comment
Хм. Команда cvsps не работает, поэтому я предполагаю, что она не установлена ​​в Windows. Я установил его в cygwin, но когда я cd / cygdrive / c / users / jeff / desktop, а затем cvsps shelter, я получаю: «не могу определить CVSROOT». - person jalperin; 13.01.2010
comment
Кстати: я отказался от hg convert и перешел на cvs2hg. vc.gerg.ca/hg/cvs2svn/file/tip/README. cvs2hg Интересная ветка в списке рассылки Hg о последних усилиях по преобразованию: selenic.com/pipermail/mercurial/2010-January/029668.html - person Greg Fenton; 21.01.2010
comment
Также обратите внимание, что CVS - это не CVSNT. Если вы использовали CVSNT, вам нужно придерживаться инструментов CVSNT. - person Greg Fenton; 21.01.2010