[02:48] [root @ server: ~] ps ax | grep svn 23986? Ss 0:00 / usr / bin / svnserve -d -r / srv / svn Как видно из аргументов, мой корневой каталог svn - это / srv / svn.
Теперь немного магии с удаленной машины ...
Это работает:
> svn co svn://svn-user@domain.com/test-repo
Но это не так:
> svn co svn+ssh://svn-user@<putty-session-name>/test-repo
'No repository found in 'svn+ssh://svn-user@<putty-session-name>/test-repo'
Игра вокруг за пару часов я обнаружил , что appearantly если я использую SSH туннель, я смог получить свой репозиторий с помощью следующих действий :
> svn co svn+ssh://svn-user@<putty-session-name>/srv/svn/test-repo
... что означает, что я должен указать полный физический путь к репо. А?
Это потому, что svn over SSH (
svn+ssh://
) просто обращается к хранилищу subversion «локально», используя SSH в качестве транспорта, и, следовательно, у вас есть доступ ко всей файловой системе. В отличие от этого, в Svnserve сказано: «начинайте свой путь/srv/svn
, и вам не нужно указывать его вручную».источник
Вы можете редактировать команду входа в систему ssh для пользователей, используя svn + ssh, отредактировав ~ / .ssh / authorized_keys пользователя subversion. Строка для пользователя будет выглядеть так:
В книге svn больше трюков svn + ssh
источник
это больше похоже на вопрос сам по себе, но это действительно связано с этим.
настроив svn + ssh с закрытыми / открытыми ключами, я не могу получить доступ к своему репо, используя относительные пути следующим образом:
так как я получаю эту ошибку:
но только так:
Это файл author_keys2, который у меня есть в каталоге /home/svn/.ssh
и файл svnserve.bin, предложенный Андреем в предыдущем ответе
Я даже думал о проблемах с разрешениями, которые перечислены здесь:
Я действительно не могу придумать решение ...
источник