首先,确保您的 Mac 防火墙没有阻止您。您可以通过ssh
从另一个系统远程登录到您的系统吗?如果没有,请转到System Preferences,选择Security and Privacy首选项,然后选择Firewall。您需要单击高级...按钮。
在那里,确保远程登录 (SSH)通过防火墙处于活动状态。
一旦您允许ssh
访问您的 Mac,您需要确保您已svn+ssh
正确设置。尝试从您自己的 Mac 访问存储库,svn+ssh://
而不是通过file://
. 如果您不能这样做,则说明您没有svn+ssh
正确设置。
设置要使用svn+ssh
的 Subversion 是访问 Subversion 存储库的四种方法中最棘手的一种。与svn://
and不同http://
,存储库服务器在用户登录到您的系统之前不会运行。
当用户连接 vissvn+ssh
时,他们会立即启动svnserve
以访问 Subversion 存储库(这是 的svn
一部分svn+ssh
)。
因为以访问存储库svnserve
的用户身份运行,所以ssh
在物理存储库目录中创建的每个目录和文件都将归该用户所有。因此,您需要确保有权访问该存储库的所有用户都在同一个主组中,并且在 Subversion 存储库目录中创建的任何文件或目录都可由该组读取/写入。
为了确保这一点,您需要采取以下步骤:
- 确保有权访问您的 Subversion 存储库的所有 Mac 用户都具有相同的主要组。您可以使用“用户和组”偏好设置面板在 Mac 中创建一个组。在创建新用户时单击+ ,但从下拉列表中选择组。将要登录的每个人都放在这个组中。
- 创建 Subversion 存储库时
- 通过命令确保存储库目录树中的所有文件和目录都归Subversion 组所有
chgrp
。
- 使用该
chmod
命令确保整个目录树可由该 Subversion 组读取/写入。
- 您需要将每个用户的设置
umask
为002
or0002
而不是默认的022
or 0022
。这样,当用户在存储库中创建新目录或文件时,该组中的任何其他用户都可以对其进行读写。否则,一个用户将创建更改,但其他用户将无法进行修改。
从在线Subversion 手册中查看这些链接: