git cvsimport Ошибка: "root ... должен быть абсолютным путем"

Я пытаюсь клонировать CVS-репозиторий с помощью git:

lawsa~/java/projects/iu$ git cvsimport -C ../iugit ebs/fs/kfs
Expected Valid-requests from server, but got: E Root
:extssh:lawsa@cvs.uits.iu.edu:/srcctrl/CVS must be an absolute pathname
lawsa~/java/projects/iu$ 

Я вижу, что у другого человека была похожая проблема здесь. Он приводит свое решение: "Пока я использую анонимный доступ, я могу заставить работать конвертировать!". Это не работает, поскольку наш сервер, безусловно, не разрешит анонимный доступ (даже если они сделали для чтения, мне нужен доступ для чтения / записи).

Я следую инструкциям gitcvs-migration который говорит:

...cd to a checked out CVS working directory of the project you are interested in
and run git-cvsimport(1):

     $ git cvsimport -C <destination> <module>

Я следовал этим инструкциям (и имею cvsps версия 2.1) путем перехода к локальной рабочей копии. Очевидно, что git cvsimport находит мой CVS_ROOT из CVS каталог в моей рабочей копии, потому что я не указал его, но он появляется в сообщении об ошибке.

Пожалуйста, дайте мне знать, если вы можете помочь. Помните, что что-то маленькое может быть чем-то большим!:-)

2 ответа

Я наконец-то добился определенного успеха с помощью команды git cvs. Похоже, что вы можете импортировать ваш каталог без указания:extssh в вашем корне cvs. Просто перейдите в новый каталог и введите:

git cvsimport -v -d user@server:/path/to/dir -r cvs -k my_module

Это решило ошибку "должен быть абсолютный путь".

Я очень рад, что понял это:

lawsa~/java/projects$ git cvsimport -d "$CVSROOT" -C iugit -r cvs -k ebs/fs/kfs
Expected Valid-requests from server, but got: E Root     
:extssh:lawsa@cvs.uits.iu.edu:/srcctrl/CVS must be an absolute pathname
lawsa~/java/projects$ echo $CVSROOT
:extssh:lawsa@cvs.uits.iu.edu:/srcctrl/CVS
lawsa~/java/projects$ CVSROOT=:ssh:lawsa@cvs.uits.iu.edu:/srcctrl/CVS
lawsa~/java/projects$ git cvsimport -d "$CVSROOT" -C iugit -r cvs -k ebs/fs/kfs
Expected Valid-requests from server, but got: E Root 
:ssh:lawsa@cvs.uits.iu.edu:/srcctrl/CVS must be an absolute pathname
lawsa~/java/projects$ CVSROOT=:ext:lawsa@cvs.uits.iu.edu:/srcctrl/CVS                                     
lawsa~/java/projects$ git cvsimport -d "$CVSROOT" -C iugit -v -r cvs -k ebs/fs/kfs                                                                                                                                   
Password: 
Could not chdir to home directory /home/lawsa: No such file or directory
fatal: Needed a single revision
Branch 'master' does not exist.
Either use the correct '-o branch' option,
or import to a new repository.
lawsa~/java/projects$ rm iugit -r
lawsa~/java/projects$ git cvsimport -d "$CVSROOT" -C iugit -v -r cvs -k ebs/fs/kfs
Password: 
Could not chdir to home directory /home/lawsa: No such file or directory
Initialized empty Git repository in /home/lawsa/java/projects/iugit/.git/
Running cvsps...
Password: 
Could not chdir to home directory /home/lawsa: No such file or directory
cvs_direct initialized to CVSROOT /srcctrl/CVS
cvs rlog: Logging ebs/fs/kfs
cvs rlog: Logging ebs/fs/kfs/.settings
cvs rlog: Logging ebs/fs/kfs/batch
cvs rlog: Logging ebs/fs/kfs/batch/.securedir

возможно git cvsimport не принимает extssh как механизм аутентификации?

Другие вопросы по тегам