Опитвам се да конвертирам 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
и след това комуникира с този екземпляр вместо с отдалечения сървър.
Базирам това на следните наблюдения:
- Създадох файл cvs.bat, който изпраща аргументите на командния ред към файл. Файлът показва аргумента "сървър".
- мониторът на процеса показва, че hg.exe се опитва да отвори файла
C:\cvstest\:sspi;username=xxx;hostname=yyy.local:\cvsrepos
, което разбира се не успява.
Възможно ли е hg да не разбира низа за свързване на sspi?
Редактиране 2:
Не е решение, но намерих заобиколно решение: Копирайте цялото отдалечено хранилище на моята машина и:
cvs -d :local:\localcopyofrepo checkout repo
hg convert repo
Всичко работеше добре