SVN Server 和 Clients 是否必须在相同的 OS 类型环境中?

Does SVN Server and Clients have to be on the same OS type environment?

我正在考虑设置 SVN Server on CentOS (http://subversion.apache.org/packages.html#centos)。但我不确定 SVN 客户端是否也只能在 CentOS 上运行?或者可以是任何客户端,例如 Windows Tortoise SVN?

非常感谢。

[更新] 另外,CentOS 上的 SVN Server 有免费的 Build/Binnary 吗?还是我必须从源代码开始,然后自己构建?

我本来打算发表一个简单的评论,但既然你问了关于从源头构建的问题...

Subversion 定义了客户可以使用的 API,并且是少数几个真正做到这一点的版本控制系统之一。这意味着您可以将任何 Subversion 客户端与任何服务器一起使用,因为不依赖命令行客户端与服务器通信。截至目前,您甚至可以自由混合和匹配版本。 1.9 版本的服务器可以使用从 1.1 到 1.9 的任何客户端。 Subversion 服务器的 1.1 版本可以使用从 1.1 到 1.9 的任何客户端。 (这不是很推荐,因为你会失去很多新功能。通常,你不应该为客户端或服务器使用低于 1.6 的版本)。

因此,如果您使用 CentOS 服务器,则可以使用标准命令行 Windows 客户端、TortoiseSVN 客户端、Eclipse 中的 IDE 客户端、VisualStudio、 IntelliJ 等 Mac OS 各种 X 客户端,甚至 Unix 和 Linux 各种类型的客户端。

现在,关于服务器...

我很少推荐将 Subversion 源代码编译到服务器中的人。这是因为很长很长的依赖关系。如果您计划使用 Apache httpd 服务器作为您的 Subversion 服务器,则尤其如此。 Apache 本身可能必须使用各种库的较新版本重新编译,以便构建 Subversion 所需的模块。 APR 通常是正确的熊。这一点都不好玩。一点都不好玩。

但是,CentOS 应该有一个 Subversion 服务器包,它将更新 Apache 服务器以与 Subversion 一起工作。不知道是什么版本,大家可以看看

CollabNet 生成了一个名为 SubversionEdge 的包,其中包括 Apache 服务器、Subversion 服务器、Subversion 客户端,甚至还包括充当 Subversion Web 客户端的 ViewVC。您将它安装为一个单独的包,它会替换现有的 Apache httpd 安装。 (它不会替换它,但会安装第二个。您应该确保默认的 运行 与这个 运行ning 不同。

Wandisco 为 CentOS 制作了自己的包。我没试过那个,但你没有理由不这样做。