2008-10-29 64 views
7

虽然我理解了这个概念,但我从未使用过任何类型的源代码控制。我感到困惑的(也许只是没有意识到)是我获得了什么好处和/或为什么我想要配置Subversion和Apache?我是否需要使用Apache进行配置才能够通过网络从其他计算机访问我的存储库?请随时提供您认为相关的任何其他细节?使用Subversion和Apache

我现在的设置是笔记本电脑(Windows   XP Pro)和虚拟机(Windows   XP Pro)。在我的虚拟机上,我有Apache 2.2,MySQL 5和PHP 5.这个设置是我的主要关注点,虽然我很高兴听到与我的场景不同的示例/情况。

+0

我认为你在非维基模式下很好 - 这不是一个真正的主观/轮询类型的问题。 – 2008-10-29 20:01:46

回答

2

没有必要使用Apache来设置Subversion。我已经使用了Subversion多年,并且从来没有这样做过(虽然有一些原因可以解决,主要是与身份验证基础结构有关)。既然你是在Windows世界中,我已经看到VisualSVN Server强烈推荐,并且很容易设置和去。

2

我认为你的情况是如果你想使用WebDAV协议来访问你的SVN仓库。在这种情况下,基本上允许Apache将文件访问作为SVN本身的中介(不直接连接到存储库)进行处理。

我听说这个工程很好,但有几种选择。看看SVN Book(检查Google)的起点。

1

使用Apache,您可以通过WebDAV访问您的存储库,即通过标准端口上的HTTP访问您的存储库,以便您可以在企业防火墙后访问/发布您的存储库,例如可能不允许svnserve端口。

3

当端口3690需要关闭时它可能是有益的。它还允许用户使用浏览器浏览代码,这有利有弊。你不需要有一个Subversion客户端来查看代码,但是一个Web浏览器使得一个糟糕的版本库浏览器。

设置它不是太棘手。 I found this page to be useful

但是,如果您只是在本地VM环境中使用它,svnserve将适合您。

1

我们在一个小团队(6人)环境中使用Subversion,使用Visual SVN存储库。最初我们没有Apache Web服务器,只有IIS,但现在我们也运行Apache,但没有令人信服的理由将Apache用于存储库。

1

SVN 可以是一个客户端 - 服务器系统中,如果你想份额你与其他人的代码。但是,如果您想单独使用代码(即使来自多台计算机!),您根本不需要任何服务器!

你可以在几乎所有的SVN客户端和本地SVN仓库中使用file:// - protocol build。

您的SVN存储库也可以从网络共享工作。但是,如果你单独使用这个方法,你应该使用这种方法只有

0

您不必使用Apache。有一个自定义服务器 - svnserve.exe可以用来代替。默认情况下它在端口3690上运行,但在设置时可以使用--port开关将其设置为不同的端口。

Greg Hewgill给了你一个链接,它会告诉你使用哪个版本的Subversion服务器,以及不同的用例。如果您不需要与任何类型的身份验证进行集成,它基本归结为svnserve。如果您需要更复杂的场景,请使用Apache。

我有一个处理svnserve的商业Windows控制台。我的个人资料有链接查看该实用程序。如果您决定使用Apache,我建议您使用VisualSVN Server

3

如果您希望在存储库中使用ACL,则通过Apache托管SVN存储库的优势将发挥作用。

您可以配置基本身份验证,并根据每个目录(或每个文件,如果您感觉需要)限制权限。例如,您可以配置存储库以允许访客结帐,但任何写入存储库的操作都需要特定的有效用户。

使用Apache对用户进行身份验证的结果意味着您不必在.htpasswd中定义用户。 Apache可以挂接到LDAP,大多数任何类型的SQL服务器,甚至可以使用Kerberos身份验证。

使用简单的svnserve可能就足够了。但是,细粒度的权限无法应用,您将无法挂接到其他用户数据库进行身份验证。

但是从您的描述来看,以上所有可能都是矫枉过正。 Apache提供的优势在很大程度上对单个用户来说毫无用处,并且不值得冒险。

+0

您还可以使用Apache获得一些其他“免费”功能,例如Web浏览器中的存储库目录列表以及Apache日志文件中的大量日志记录信息 – 2009-12-05 00:26:03