Преобразувайте cvs в живак

Опитвам се да конвертирам CVS хранилище в mercurial, но не мога да го накарам да работи.

Започвам с чиста каса:

cvs -d :sspi;username=xxx;hostname=yyy.local:/cvsrepos checkout repo

Което работи добре

След това правя:

hg convert .

Но не успява с:

assuming destination .-hg
initializing destination .-hg repository
connecting to :sspi;username=xxx;hostname=yyy.local:/cvsrepos
abort: unexpected response from CVS server (expected "Valid-requests", but got 'E cvs [server aborted]: Root :sspi;username=xxx;hostname=yyy.local:/cvsrepos must be an absolute pathname\n')

Пускам cvsnt на windows 7

Редактиране:
Проучих това малко повече и изглежда, че mercurial стартира локален сървър cvs server и след това комуникира с този екземпляр вместо с отдалечения сървър.

Базирам това на следните наблюдения:

  1. Създадох файл cvs.bat, който изпраща аргументите на командния ред към файл. Файлът показва аргумента "сървър".
  2. мониторът на процеса показва, че hg.exe се опитва да отвори файла C:\cvstest\:sspi;username=xxx;hostname=yyy.local:\cvsrepos, което разбира се не успява.

Възможно ли е hg да не разбира низа за свързване на sspi?

Редактиране 2:

Не е решение, но намерих заобиколно решение: Копирайте цялото отдалечено хранилище на моята машина и:

cvs -d :local:\localcopyofrepo checkout repo
hg convert repo

Всичко работеше добре


person adrianm    schedule 09.11.2010    source източник
comment
Това се опитах да кажа в отговора си, можете да го маркирате като отговорено или да добавите свой собствен отговор и да го маркирате като отговор.   -  person Kit Roed    schedule 11.11.2010


Отговори (2)


Изглежда, че съобщението за грешка ви казва да използвате абсолютен път към хранилището, опитайте да използвате

hg convert <full_path_including_drive>

вместо пътеката . в отметната пясъчна среда на вашето CVS хранилище. Можете също така да опитате да посочите типа хранилище в командата convert, като добавите -s cvs към командата, резултатът ще изглежда така:

hg convert -s cvs C:\sandbox\cvsrepos
person Kit Roed    schedule 09.11.2010

Изглежда, че използвате ConvertExtension. Можете ли да опитате hg convert от родителската папка и да посочите името на папката вместо . и да видите дали работи?

person Raghuram    schedule 09.11.2010
comment
Да, използвам ConvertExtension (hgext.convert= в .hgrc). Посочването на изходна и/или целева папка няма значение. - person adrianm; 09.11.2010