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
как механизм аутентификации?