Репозитарии CVS представляют собой систему специальных файлов, каждый из которых хранит всю историю изменений, конкретного преимущественно текстового файла. CVS может обращаться к репозитарию множеством способов. Репозитарий может находиться на локальной машине, на соседней машине или же на машине, или на машине в интернет.
Есть следующие методы доступа:
Указание на то, какой метод доступа должен использоваться можно в переменной CVSROOT
, например для pserver переменная будет выглядеть так:
:pserver:kkv@kkv.spb.su:/cvs
Если используется режим доступа ext, то cvs использует программу для доступа, которая указана в переменной окружения CVS_RSH
. При данном методе доступа, выполнять cvs login не требуется.
Для доступа к cvs через ssh необходимо выполение следующих условий:
По умолчанию, используется обычный порт для ssh (значение 22), поэтому следующая последовательность команд
export CVS_RSH=/bin/ssh cvs -d :ext:ktoto@kkv.spb.su:/cvs co project
завершится следующей ошибкой:
ssh: connect to host kkv.spb.su port 22: Connection refused cvs [checkout aborted]: end of file from server (consult above messages if any)
Значение порта для ssh можно указать либо прописав в файле ~/.ssh/config строчку
port 2222
это не очень удобно, так как ssh будет пытаться ко всем хостам обращаться по порту 2222. Чтобы задать порт только для одного сервера – прописать в файле ~/.ssh/config строчки
Host kkv.spb.su Port 2222
Второй вариант, создать скрипт cvsrsh, который указать в переменной CVS_RSH
в качестве программы доступа.
vim ~/scripts/cvsrsh #!/bin/sh ssh -p 2222 $* chmod +x ~/scripts/cvsrsh
export CVS_RSH=~/scripts/cvsrsh cvs -d :ext:ktoto@kkv.spb.su:/home/cvs co test
Эти строчки можно добавить в ~/.bashrc, когда не надо будет вводить это все по-новой.
Для доступа к cvs из под Windows требуется выполнить следующие шаги:
CVS_RSH=c:\tools\openssh\bin\ssh.exe HOME=c:\tools
Port 2222
cvs -d :ext:user@kkv.spb.su:/home/cvs co test