首先感谢所有回答我之前问题的人 -https://stackoverflow.com/questions/1393827/setting-up-svn-web-based-services-vs-your-own-svn-server
尽管我更喜欢使用基于 Web 的解决方案,但 svn 服务器仍需在办公室实现。
我们目前在我们的服务器上运行 FreeBSD,我目前正在寻找有关使用命令提示符在服务器上设置 SVN 存储库的信息。
我以前在 Ubuntu 上使用过终端命令,所以我有一些想法,但我还远远不够成为专家。我看过一些教程,但它们看起来完全不同,而且似乎跳过了一些部分。我真的在寻找关于设置存储库及其用户的分步指南。理想情况下是初学者指南,这样我就能确切地知道发生了什么。
我将非常感激任何正确的提示或指示。
感谢您的时间。
答案1
我建议您首先尝试使用 subversion 附带的 svnserve 守护程序。它使用自己的 TCP 协议,因此对于所有与存储库相关的操作,您都将使用 svn:// URL 方案,例如:
%svn签出svn://localhost/myproject
因此,安装 devel/subversion 端口后:
# cd /usr/ports/devel/subversion # 制作 WITHOUT_BDB=1 WITH_SVNSERVE_WRAPPER=1 WITH_REPOSITORY_CREATION=1 安装清理
您将在 中获得一个全新的空存储库/home/svn/repos
。Port 还将创建svn
用户和组(请检查和文件svn
中是否存在它们以确保无误)。/etc/passwd
/etc/group
然后,将以下几行添加到/etc/rc.conf
:
svnserve_enable="是" svnserve_flags="-d --listen-port=3690 --listen-host 127.0.0.1" svnserve_data="/home/svn/repos" svnserve_user="svn" svnserve_group="svn"
如果需要,请将 127.0.0.1 更改为其他可从其他机器访问的 IP。使用以下命令启动守护程序:
#/usr/local/etc/rc.d/svnserve 启动
如果没有发生错误,请检查正在运行的守护程序:
# /usr/local/etc/rc.d/svnserve 状态 svnserve 正在作为 pid 65968 运行。
或者
# sockstat | grep svn svn svnserve 65968 3 tcp4 127.0.0.1:3690 *:*
好的。现在您需要为 svnserve 创建每个用户的身份验证。这可以通过编辑/home/svn/repos/conf/passwd
文件来完成,例如:
[用户] bob = 密码 joe = another_password alex = yet_another_password
然后,确保/home/svn/repos/conf/svnserve.conf
文件中存在以下行:
[一般的] 匿名访问 = 无 授权访问 = 写入 密码数据库 = passwd
就是这样。现在你可以将你的源导入到这个存储库中。更多信息请阅读 http://svnbook.red-bean.com/en/1.5/svn.serverconfig.svnserve.html
答案2
使用 Subversion 进行版本控制是我通常查阅 Subversion 信息的来源。第 5 章和第 6 章看起来可能会给你指明正确的方向。
答案3
我建议使用 HTTP 访问存储库,这将为客户端简化许多事情(特别是如果他们在防火墙后面)。我喜欢Apache 方式。